在TableView中加载更多选项?

时间:2011-08-04 06:18:05

标签: iphone objective-c xcode

我需要在tableView中实现Load More Option。我以XML格式从Web服务接收了数据,并通过XML Api URL解析了XML文件,并在UITableView中显示数据。

API网址如下: -

  

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

“%d”这是页码的占位符,从(1到10)有10页,每页有15个新闻,我在UITableView上显示。

现在我想在表视图中选择“LoadMore”选项,当用户点击加载更多选项时,“%d”的值占位符从1变为2,依此类推并加载第2页的下一个15新闻tableView包含第1页的预先存在的新闻,并再次显示下一页的加载更多选项。

任何人都可以建议我在UITableView中实现“LoadMore”选项的方法。

提前致谢。

5 个答案:

答案 0 :(得分:4)

而是在tableview&amp ;;的页脚视图中使用加载更多按钮。为每个页面计数重新加载tableview。

或尝试此链接

https://github.com/sishen/LoadMoreTableFooterView

https://github.com/kwylez/LoadMore

答案 1 :(得分:2)

或尝试使用three20框架

http://thre20.info

https://github.com/facebook/three20

有一个名为TTTableViewController的类,它实现了Load more按钮。

答案 2 :(得分:1)

单击LoadMore时,使用下一个%d值解析xml并将其添加到数组中并重新加载表[tablename reloaddata];

答案 3 :(得分:1)

我认为使用face book的“pull down to refresh”方式是最方便用户使用的方法,只有与你不同的方法才能“拉起来加载更多”。

答案 4 :(得分:1)

只需使用indexPath.row

在第11个单元格中添加一个按钮即可
- (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;
       }    
}