Я работаю над приложением iPhone. Это приложение содержит множество веб-сервисов. Мне нужно показать список в UITableView со страницей. Как показать «Загрузка» и вызвать веб-службу при прокрутке UITableview? Пожалуйста, помогите мне ..Как реализовать «Загрузка» в UITableView при прокрутке вниз?
ответ
Я предполагаю, что вы добавляете пользовательскую ячейку в нижней части представления таблицы, чтобы указать конец текущего набора данных. Когда вы создаете эту ячейку, установите ее свойство tag
в значащую константу, которую вы ранее определили, например END_OF_TABLE_CELL
.
Затем используйте метод делегата tableView:willDisplayCell:forRowAtIndexPath
, чтобы проверить, является ли ячейка, отображаемая для отображения, вашей настраиваемой ячейкой, и запускает перезагрузку источника данных таблицы.
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
//check your cell's tag
if (cell.tag == END_OF_TABLE_CELL) {
//Call your custom method to fetch more data and reload the table
// You should also remove this custom cell from the table and add one at the bottom
}
}
Таким образом, вы будете иметь таблицу, которая обновляет себя всякий раз, когда пользователь прокручивает вниз достаточно далеко, чтобы принести пользовательскую ячейку в поле зрения.
Удачи!
Я сделал именно это, и это сработало как шарм. Более подробный учебник для этого подхода: http://nsscreencast.com/episodes/8-automatic-uitableview-paging. – niaher
Спасибо за удаление восклицательных знаков! – Maarten