美文网首页iOS 知识点
iOS如何判断UITableView滑动到了底部

iOS如何判断UITableView滑动到了底部

作者: Accepted_ | 来源:发表于2017-03-15 22:22 被阅读279次

想要知道tableView是否滑动到了底部,我们需要先了解一些有关于scrollView的概念(UITableView继承自UIScrollView)(查了资料后的个人理解.如有不对请帮忙指出)

contentSize 可以滚动的区域

contentOffset  scrollView顶点相对于contentView顶点的偏移量

contentInset contentView四周距离scrollView的距离.

图示

知道了这几个词的概念后,我们回到tableView上来.

首先,使用- (void)scrollViewDidScroll:(UIScrollView*)scrollView监听tableView的滚动,并打印scrollView.contentOffset的y值和scrollView.contentSize的height值,在往底部滚动的过程中,会发现,scrollView.contentOffset.y越来越大,越来越接近scrollView.contentSize.height的值.直到滚到底部,两者相差一个屏幕的高度(我使用6测试的)

打印值

通过画图分析,也不难得出结果

分析图

为使容判断到达底部的容错能力稍强,两者相减<=ScreenWidth + 1,就可以得到比较准确的效果了.而且因为有时,这两个值相减不一定是整数,+1也是为了避免因为这种情况出现导致判断错误.

判断代码:

if(delta <= 1 + [UIScreen mainScreen].bounds.size.height)

 {

        NSLog(@"YES");

}

else

{

        NSLog(@"NO");

}

以上只分析了contentInset四个值都为0的情况.设置了contentInset也同理可以通过打印值,修改判断的条件得到答案.

相关文章

网友评论

    本文标题:iOS如何判断UITableView滑动到了底部

    本文链接:https://www.haomeiwen.com/subject/kpsknttx.html