上拉刷新中如何判断UITableView滚动到了底部

上拉刷新的原理就是当UITableView滚动到底部时,执行加载操作。

如何判断UITableView滚动到了底部呢?首先,你得知道UITableView继承自UIScrollView

调用其委托方法如下

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {

    float offY = scrollView.contentOffset.y;

    float contentHeight = scrollView.contentSize.height;

    float boundsHeight = scrollView.bounds.size.height;

    int d = contentHeight - boundsHeight > 0?(contentHeight - boundsHeight) :0;

    if (offY >= d ){

        // To Do Something    

    }

}

这个委托方法是上拉刷新中用到的方法,比较好用,挺不错!

还有一个是UITableView自己独有的代理方法,如下

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {

      if (indexPath.row == [_unsignedOutArray count] - 1) {

            [self performSelector:@selector(updateData) withObject:nil afterDelay:1.0f];

        }

}

这个委托方法可以用来当UITableView一滚动到底部的时候就刷新,比较好用。

两种方法都不错,看你的上拉刷新是如何做的了。



你可能感兴趣的:(个人小结)