Как реализовать «Загрузить еще 25» в UITableViewController - PullRequest
6 голосов
/ 10 мая 2010

Я работаю над приложением для iphone.Приложение загружает множество записей из веб-службы в контроллер табличного представления.Я хотел бы загрузить 25 записей изначально и оставить их в 25 пакетах, щелкнув что-то вроде «Загрузить еще 25» в конце табличного представления.

Любая помощь будет с благодарностью оценена.

Спасибо

Ответы [ 4 ]

7 голосов
/ 10 мая 2010

Просто поместите кнопку, связанную с событием, в нижний колонтитул таблицы. Когда кнопка нажата, добавьте следующие 25 результатов к уже существующему массиву элементов.

После этого просто выполните [self.tableView setNeedsDisplay]. Я использую это, чтобы сообщить моей таблице, что у меня есть дополнительные данные в таблице. Благодаря этому нет необходимости прокручивать вправо строку в таблице, поскольку она сохраняет свое исходное положение.

Кроме того, зачем вызывать метод viewDidAppear, мне это кажется неправильным, потому что (конечно) представление уже появилось, и все сделанные вами изменения и назначения были выполнены заново. Просто поместите материал, который вам нужно сделать, просматривая представление И, когда вы добавляете данные в отдельный метод, и вызовите этот метод из события нажатия кнопки и из события viewDidAppear.

4 голосов
/ 11 июля 2011

Я написал пример проекта, который делает это, который вы можете скачать с GitHub https://github.com/Abizern/PartialTable

0 голосов
/ 10 апреля 2012

Я написал что-то, что делает именно то, что вы описываете, и положил это на github: https://github.com/nmondollot/NMPaginator

Он инкапсулирует нумерацию страниц и работает практически с любым веб-сервисом, используя параметры page и per_page. Он также имеет UITableView с автоматической выборкой следующих результатов при прокрутке вниз. Надеюсь, это будет полезно.

0 голосов
/ 10 мая 2010

Я делаю почти то же самое в своем приложении, получая 50 первых записей от веб-сервиса. В качестве нижнего колонтитула таблицы у меня есть вид со следующими / предыдущими кнопками, что при нажатии запускается запрос на выборку для следующих / предыдущих 50 результатов. После обработки запроса на выборку я вызываю viewWillAppear: animated: для моего контроллера представления и внутри к [self.tableView reloadData], поэтому эти результаты отображаются в одном и том же табличном представлении. Конечно, я храню данные каждый раз только для представленных результатов, но это зависит от ваших потребностей.

Надеюсь, это поможет

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