用力下拉tableView,tableView靠惯性滑动,滑动到顶部时不让其有反弹效果。主要原理是在tableView自己靠惯性滑动过程中不断判断tableView的contentOffset,为0(或-64,状态栏+导航栏)的时候就不再减小。代码如下:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
//限制下拉的距离
if(scrollView.contentOffset.y<-70 && scrollView.isDragging){
[scrollView setContentOffset:CGPointMake(0, -70)];
}
//以0为例,当tableView还在滑动的时候,不断设置contentOffset
if(scrollView.contentOffset.y<0 && scrollView.isDecelerating){
[scrollView setContentOffset:CGPointMake(0, 0)];
}
[super scrollViewDidScroll:scrollView];
}
时间: 2025-01-02 14:34:42