码迷,mamicode.com
首页 > 其他好文 > 详细

tableView下拉距离限制

时间:2016-01-01 13:09:54      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:contentoffset   设置下拉距离   

    项目中使用了tableView的下拉加载历史记录功能。其中一个逻辑是这样的:手撒开后,tableView会反弹回顶部,为了让cell复用没问题,设置延迟更新数据源。因为如果在手撒开tableView未反弹时就更新数据源,那么界面最下方的cell数据会根据新数据源来设置,导致错误。这个“延迟”的时间必须保证tableView能及时的反弹回顶部。后来发现设置这个时间并不是多么保险,因为我们无法保证用户下拉tableView的距离有多远,这决定了tableView反弹回顶部用的时间。所以干脆对tableView下拉的距离进行限制。主要的原理是在用户下拉过程中不断判断contentOffset,如果小于某个临界值就用setContentOffset设置contentOffset,从而让用户无法继续下拉,达到限制下拉距离的目的。代码如下:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{

    //限制下拉的距离为70

    if(scrollView.contentOffset.y<-70 && scrollView.isDragging){

        [scrollView setContentOffset:CGPointMake(0, -70)];

    }

    [super scrollViewDidScroll:scrollView];

}


tableView下拉距离限制

标签:contentoffset   设置下拉距离   

原文地址:http://laynestone.blog.51cto.com/9459455/1730606

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!