检测UITableView是否已滚动到底部时出现问题

She*_*lam 9 iphone cocoa-touch objective-c uitableview uiscrollview

我正在使用以下代码来检测我是否已到达UITableView的底部

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ 
    if(self.tableView.contentOffset.y >= (self.tableView.contentSize.height - self.tableView.bounds.size.height)) {
        NSLog(@"bottom!");
        NSLog(@"%@", [self getLastMessageID]);
        [self getMoreStuff:[self getLastMessageID]];
    }

}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但唯一的问题是当用户拉下tableview时(如拉动刷新)代码触发.我怎么处理这个?

Sri*_*iya 19

试试这种方式

    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]];
    }
Run Code Online (Sandbox Code Playgroud)