отключите прокрутку в UITableView (iPhone SDK 3.0)

Я пытаюсь отключить прокрутку в a UITableView при редактировании a UITextField встроенный в a UITableViewCell. Это должно только препятствовать тому, чтобы ячейка была прокручена с глаз долой, при редактировании (и также избегать некоторых связанных проблем "Переработки" ячейки). При поиске с помощью Google вокруг я видел, что кто-то предложил очевидное:

tableView.scrollEnabled = NO:

или даже

tableView.userInteractionEnabled = NO;

Это не работает, хотя (по крайней мере, для меня... iPhone SDK 3.0, примерил средство моделирования), я установил эти свойства на нет, я даже проверяю вход, на который установлены свойства нет, но UITableView продолжает отвечать обычно на сенсорные события. И это также счастливо прокручивает. Я не был бы то, который волновался, не утверждал ли кто-то в сети, что это на самом деле работает.

Я пропускаю что-то? Или единственная альтернатива разделяет UITableView на подклассы для предоставления доступа к функциональности доступной в ее суперклассе (UIScrollView) работа снова?

21
задан Kara 28 April 2016 в 16:08
поделиться

3 ответа

Вы пробовали использовать self.tableView.scrollEnabled = NO; ?

Я часто пробовал, чтобы код из Интернета не работал просто из-за отсутствия префикса self. Я просто попробовал это без проблем.

Я не знаю, работает ли это при динамическом включении и выключении. По крайней мере, он работает с постоянными настройками при инициализации объекта ...

49
ответ дан 29 November 2019 в 06:16
поделиться

Я попробовал:

[(UIScrollView*)[self view] setScrollingEnabled:NO];

, и это сработало ([self view] - это мой взгляд на текущий контроллер представления, то есть UITableView).

Дело в том, что я получаю предупреждение:

'UIScrollView' может не отвечать на '-setScrollingEnabled:'

Честно говоря, свойство scrollEnabled, тем не менее, работает с вышеупомянутым кодом!

Итак, "правильный" способ сделать что-то должен быть таким:

[(UIScrollView*)[self view] setScrollEnabled:NO];

Меня сбивает с толку, почему он работает и по-другому ...

2
ответ дан 29 November 2019 в 06:16
поделиться

Если вы используете UITableViewController , у вас также есть свойство tableView без преобразования типов. Это работает для меня:

self.tableView.scrollEnabled = NO;

Дайте мне знать, работает ли это для вас.

19
ответ дан 29 November 2019 в 06:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: