Загрузить больше опций в TableView? - PullRequest
1 голос
/ 04 августа 2011

Мне нужно реализовать опцию Load More в tableView.Я получил данные от веб-сервисов в формате XML и проанализировал файлы XML через URL-адреса XML Api и отобразил данные в UITableView.

URL-адрес API выглядит следующим образом: -

http://www.xyz.com/api_tm.php?page_id=%d

"% d". Это заполнитель для номера страницы. Имеется 10 страниц (от 1 до 10), и на каждой странице есть 15 новостей, которые я отображаю в UITableView.

Теперь я хочу использовать опцию «LoadMore» в табличном представлении для случая, когда пользователь нажимает на опцию «загрузить больше», тогда значение заполнителя «% d» изменяется с 1 на 2 и т. Д. И загружает следующие 15 новостей страницы2 в tableView с уже существовавшими новостями на странице 1 и снова показывающими опцию «загрузить больше» для следующих страниц.

Может кто-нибудь предложить мне способ реализации опции «LoadMore» в UITableView.

Заранее спасибо.

Ответы [ 5 ]

4 голосов
/ 25 августа 2011

Вместо этого используйте кнопку «Загрузить больше» в представлении нижнего колонтитула и перезагрузите представление таблицы для каждого количества страниц.

или попробуйте эту ссылку

https://github.com/sishen/LoadMoreTableFooterView

https://github.com/kwylez/LoadMore

2 голосов
/ 25 августа 2011

Или попробуйте фреймворк Three20

http://thre20.info

https://github.com/facebook/three20

Существует класс с именем TTTableViewController, который реализует кнопку Загрузить еще.

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

Просто добавьте кнопку в 11-ю ячейку, используя indexPath.row

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

   static NSString *CellIdentifier = @"Cell";

   UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

   if (cell == nil) {

      cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];

       if (indexPath.row == 11) 
       {
           UIButton *btnMore   = [[UIButton alloc]initWithFrame:CGRectZero]; 
           btnMore.backgroundColor=[UIColor clearColor];
           btnMore.font=[UIFont fontWithName:@"Arial" size:15.0];
                [btnMore setFrame:CGRectMake(10,10,100,44)];

           [cell addSubview:btnMore];
           [btnMore release];
           return cell;
       }    
}
1 голос
/ 04 августа 2011

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

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

Когда нажимается LoadMore, анализируйте xml со следующим значением% d, добавляйте их в свой массив и перезагружайте таблицу [tablename reloaddata];

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