How to make dynamically adding of rows when user reached to the last row of the UITableView?

后端 未结 4 741
夕颜
夕颜 2021-02-02 04:19

I have a UITableview which shows 10 rows currently which is fixed static. Now I want to add a feature into it. I want to add a more 10 rows to the table when user r

4条回答
  •  夕颜
    夕颜 (楼主)
    2021-02-02 04:51

    It is actually quite simple. What you need to do is implement the tableView:willDisplayCell:forRowAtIndexPath: method, which belongs to the UITableViewDelegate protocol. This method hits every time a cell is about to be displayed. So, it will let you know when the last cell is about to be displayed. Then you could do something like-

    – (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *) cell forRowAtIndexPath:(NSIndexPath *)indexPath 
    {
         if(indexPath.row == [self.array count] - 1) //self.array is the array of items you are displaying
         {
              //If it is the last cell, Add items to your array here & update the table view
         }
    }
    

    Another (a bit mathematical) option is to implement UIScrollView delegate methods (UITableView is a subclass of UIScrollView), namely scrollViewDidEndScrollingAnimation: or scrollViewDidScroll:. These will let you know the y-position of the content the user is viewing. If it is found that the bottom most content is visible, you can add more items.

    HTH,

    Akshay

提交回复
热议问题