美文网首页
TableView去头、尾视图粘性

TableView去头、尾视图粘性

作者: 7dfa9c18c1d1 | 来源:发表于2016-04-14 12:01 被阅读318次
    • 昨天下午被朋友问了问题,她需要去除TableView的尾视图粘性,结果不会了,网上有去除头视图粘性的方法,去除个尾视图粘性可以根据那个写出来,好吧,写出代码来记录下我们的这菜鸟一刻
    - (void)scrollViewDidScroll:(UIScrollView *)scrollView {
        
        // 去除头视图粘性的方法
        CGFloat sectionHeaderHeight = 40;
        
        if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) {
            scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
        }
        else if (scrollView.contentOffset.y>=sectionHeaderHeight) {
            scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
        }
    }
    
    - (void)scrollViewDidScroll:(UIScrollView *)scrollView {
        
        // 去除尾视图粘性的方法
        CGFloat sectionFooterHeight = 40;
        
        CGFloat size_height = scrollView.contentSize.height;
        
        CGFloat contentOffset_y = scrollView.contentOffset.y;
        
        CGFloat result = size_height - contentOffset_y - [UIScreen mainScreen].bounds.size.height;
        
        if (result > sectionFooterHeight) {
            scrollView.contentInset = UIEdgeInsetsMake(64, 0, -sectionFooterHeight, 0);
        }else{
            if (result>0) {
                scrollView.contentInset = UIEdgeInsetsMake(64, 0, -result, 0);
            }else{
                scrollView.contentInset = UIEdgeInsetsMake(64, 0, 0, 0);
            }
        }
    }
    
    • 两个方法不能同时写一块,以为两个方法都是通过操作偏移量来实现的,写在一起的话,前一个方法会被后一个方法覆盖

    相关文章

      网友评论

          本文标题:TableView去头、尾视图粘性

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