2010-11-17 2 views
0

Как вы знаете, что вы прокручивали с помощью UITableViewIndex?
У меня есть базовая информация для отображения в моих ячейках, и когда я прыгаю/прокручиваю, мне нужно получить информацию о ячейках thoses по запросу группы (страницы) элементов.
Так что, чтобы запросить только тезисы, которые я остановил, мне нужен способ узнать, что я остановил прокрутку (я использовал scrollViewDidEndDecelerating), но с помощью UITableViewIndex мы просто переходим к другому индексу или прокручиваем их.Обнаружение перехода с помощью UITableViewIndex

ответ

0

Единственная обратная связь, которую вы получаете, заключается в протоколе UITAbleViewDelegate - ни одно из них не сообщает о прокрутке в виде таблицы.

Однако вы получите вызовы к tableView:cellForRowAtIndexPath: вызовам вашего источника данных - это скажет вам, что представление таблицы перемещено достаточно, чтобы получить новую ячейку.

Кроме того, у вас есть свойство visibleCells объекта UITableView, чтобы увидеть, где вы находитесь на столе?

Это может помочь, если вы добавите больше деталей в свой вопрос - зачем вам нужно знать, что прокрутка произошла?

0

UITableView наследует от UIScrollView, поэтому вы также можете реализовать методы UIScrollViewDelegate, такие как scrollViewDidScroll. Когда прокручивается представление таблицы, они будут вызваны.

Однако, если вы объясните, почему вам нужно знать, прокручивается ли представление таблицы, может быть лучший ответ.

Edit:
С обновленной вопрос, это еще не совсем ясно, нужно ли методы Scrollview делегата.

Если вам просто нужно обновить содержимое самих ячеек, поместите это в cellForRowAtIndexPath, и представление таблицы автоматически вызовет его, когда ячейка появится в поле зрения.

Если вам нужно что-то обновить за пределами представления таблицы, вы все равно сможете это сделать в cellForRowAtIndexPath или вы можете обработать scrollViewDidEndDecelerating: а затем использовать методы visibleCells или indexPathsForVisibleRows табличного представления, чтобы получить список видимых в настоящее время ячеек.

+0

Вы говорите «UITableViewIndex», так что, я думаю, вы имеете в виду, что у вас есть индексный вид таблицы (с индексом A-Z справа), и вы хотите знать, когда пользователь коснулся этого. Если вы правильно реализуете cellForRowAtIndexPath, данные должны отображаться правильно, независимо от того, как пользователь переходит к разделу. – Anna

+0

, но у меня есть некоторая «фальшивая» информация, которая используется до тех пор, пока она не будет обновлена ​​удаленным вызовом, который выполняется для партии статей за один вызов. – CiNN

+0

У вас может быть флаг BOOL, указывающий, является ли информация фальшивой/реальной. В cellForRowAtIndexPath покажите «Загрузка ...», если поддельные еще показывают реальную информацию. Когда удаленный вызов завершен, он должен обновить источник данных табличного представления и установить флаг в «real», а затем вызвать [tableView reloadData], который снова вызовет cellForRowAtIndexPath. Вы также можете вызвать reloadRowsAtIndexPaths или reloadSections, если вам не нужна/нужна перезагрузка всей таблицы. – Anna

Смежные вопросы