Как перезагрузить UITableView для получения дополнительных данных? - PullRequest
0 голосов
/ 13 августа 2011

У меня есть UITableView, который я заполняю из запроса JSON.

Я заполняю его личными сообщениями, и он работает.

Запрос JSON имеет свойства "site", в котором яполучить за каждый сайт 20 вечера.Итак, в начале я получил Site = 0 и получил 20PMS, которые загружены.

Теперь я хочу иметь такие функции, как в приложении для электронной почты (я думаю, что я видел его там): когда вы прокручиваете страницу вниз и достигаетеконец (в моем приложении достигло 20:00), приложение должно загрузить следующие 20 и т. д. и т. д.

Есть идеи, как реализовать?

Ответы [ 3 ]

1 голос
/ 13 августа 2011

Сохраните путь индекса последней строки и внедрите

 [UITableView reloadRowsAtIndexPaths:withRowAnimation:]

Или вы можете использовать scrollToRowAtIndexPath : atScrollPosition: animated:

scrollPosition

A constant that identifies a relative position in the receiving table view 
(top, middle, bottom) for row when scrolling concludes. 

See “Table View Scroll Position” a descriptions of valid constants in docs

И как только вы получите последнюю позицию прокрутки, просто перезагрузите табличное представление [tableView reloadData]

Но есть проблема, я думаю, как только вы перезагрузите данные, которые, я думаю, после перезагрузки ( Я не уверен, ) tableView, вы снова попадете в первую строку, тогда вы всегда можете сохранить lastIndexpath этого tableView и после reloadData просто scrollToRowAtIndexPath : atScrollPosition: animated: или вы можете использовать scrollToNearestSelectedRowAtScrollPosition : animated:

0 голосов
/ 13 августа 2011

Стивен Джеймс и его коллеги из Key Options Development столкнулись с похожей проблемой: http://blog.keyoptions.co/tableview-with-automatic-load-more

Они создали пример приложения (ContinousTableview), которое должно вам помочь.Исходный код доступен на GitHub: https://github.com/stephenjames/ContinuousTableview

0 голосов
/ 13 августа 2011

Я думаю, что вы можете реализовать такую ​​функцию, как приложение электронной почты, используя вашу собственную логику. Что вы делаете, это сохраняете последнюю строку таблицы для загрузки большего количества данных. Там должно быть сообщение типа «Загрузить еще ...» в этой последней строке. Всякий раз, когда пользователь касается этой строки, вы должны загружать больше данных и обновлять представление таблицы.

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