Problem detecting if UITableView has scrolled to the bottom

后端 未结 3 699
遇见更好的自我
遇见更好的自我 2021-02-14 23:40

I\'m using the following code to detect if I\'ve reached the bottom of a UITableView

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ 
    if(self.tableVi         


        
相关标签:
3条回答
  • 2021-02-15 00:08

    Try to use another algorithm to detect, that you reached the bottom of table view. For example, look at the cellForRowAtIndexPath:(NSIndexPath *)indexPath to the indexPath of a current cell and if the number of row in IndexPath equals to the number of rows in your data array, then you reached a bottom.

    0 讨论(0)
  • 2021-02-15 00:17

    try this way

        if(self.tableview.contentOffset.y<0){
                  //it means table view is pulled down like refresh
                  return;
                }
    else if(self.tableView.contentOffset.y >= (self.tableView.contentSize.height - self.tableView.bounds.size.height)) {
            NSLog(@"bottom!");
            NSLog(@"%@", [self getLastMessageID]);
            [self getMoreStuff:[self getLastMessageID]];
        }
    
    0 讨论(0)
  • 2021-02-15 00:30

    Store the last position of the scrollview in your didScroll method. If you detect a scroll down and the last position was already the bottom of the scrollview then you ignore it.

    0 讨论(0)
提交回复
热议问题