Можно ли получить уведомление, когда UITableView заканчивает прокрутку? - PullRequest
6 голосов
/ 01 марта 2010

Я ссылался на этот вопрос: Как определить, когда UIScrollView завершил прокрутку

UITablewView является подклассом UIScrollView, и мой делегат UITableView делает сообщение - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView, когда я прокручиваю таблицу вручную.

Однако, когда я вызываю - (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated для прокрутки таблицы, я не получаю сообщение scrollViewDidEndDecelerating. Я вызываю метод scrollRowToIndexPath... с animated:YES.

Является ли это ошибкой / ограничением API (на iPhone SDK 3.1.3) или я упускаю другой способ сделать это?

Ответы [ 2 ]

6 голосов
/ 23 августа 2010

На тот случай, если кто-то все еще гонится за этим, документы Apple говорят следующее в документации scrollToRowAtIndexPath:atScrollPosition:animated::

"Вызов этого метода не приводит к получению делегатом scrollViewDidScroll: сообщение, как обычно для программно вызванные операции пользовательского интерфейса. "

1 голос
/ 07 июля 2011

У меня была такая же проблема. Но я решил это, выполнив программную прокрутку до указанной строки:

NSTimer *t = [NSTimer scheduledTimerWithTimeInterval: 0.6
                                              target: self
                                            selector:@selector(doneScrolling)
                                            userInfo: nil repeats:NO];

В моем случае я просто хотел выделить строку после того, как она была прокручена до.

OR

Если вы хотите, чтобы код выполнялся более быстро и не хотели ждать 0,6 секунды, вы можете выполнить цикл, чтобы проверить, видна ли еще строка, которую вы прокручивали. Используйте свойство visibleCells в UITableView. Когда он виден, вы знаете, что он выполнил прокрутку, и вы можете выполнить свой код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...