Я пытаюсь отключить прокрутку в a UITableView
при редактировании a UITextField
встроенный в a UITableViewCell
. Это должно только препятствовать тому, чтобы ячейка была прокручена с глаз долой, при редактировании (и также избегать некоторых связанных проблем "Переработки" ячейки). При поиске с помощью Google вокруг я видел, что кто-то предложил очевидное:
tableView.scrollEnabled = NO:
или даже
tableView.userInteractionEnabled = NO;
Это не работает, хотя (по крайней мере, для меня... iPhone SDK 3.0, примерил средство моделирования), я установил эти свойства на нет, я даже проверяю вход, на который установлены свойства нет, но UITableView продолжает отвечать обычно на сенсорные события. И это также счастливо прокручивает. Я не был бы то, который волновался, не утверждал ли кто-то в сети, что это на самом деле работает.
Я пропускаю что-то? Или единственная альтернатива разделяет UITableView на подклассы для предоставления доступа к функциональности доступной в ее суперклассе (UIScrollView) работа снова?
Вы пробовали использовать
self.tableView.scrollEnabled = NO;
?
Я часто пробовал, чтобы код из Интернета не работал просто из-за отсутствия префикса self. Я просто попробовал это без проблем.
Я не знаю, работает ли это при динамическом включении и выключении. По крайней мере, он работает с постоянными настройками при инициализации объекта ...
Я попробовал:
[(UIScrollView*)[self view] setScrollingEnabled:NO];
, и это сработало ([self view] - это мой взгляд на текущий контроллер представления, то есть UITableView).
Дело в том, что я получаю предупреждение:
'UIScrollView' может не отвечать на '-setScrollingEnabled:'
Честно говоря, свойство scrollEnabled, тем не менее, работает с вышеупомянутым кодом!
Итак, "правильный" способ сделать что-то должен быть таким:
[(UIScrollView*)[self view] setScrollEnabled:NO];
Меня сбивает с толку, почему он работает и по-другому ...
Если вы используете UITableViewController
, у вас также есть свойство tableView
без преобразования типов. Это работает для меня:
self.tableView.scrollEnabled = NO;
Дайте мне знать, работает ли это для вас.