ios11.0以上版本,table下拉刷新后留白回不去,上拉刷新一只跳不停的问题解决办法

网上搜了很多,但是很多说的不明确,作为xcode新手看不懂,后来结合很多结论,这里记录我的解决方案:

只需要在MJRefreshHeader.m中修改如下部分

- (void)placeSubviews

{

    [super placeSubviews];

    

    // 设置y值(当自己的高度发生改变了,肯定要重新调整Y值,所以放到placeSubviews方法中设置y值)

    self.mj_y = - self.mj_h - self.ignoredScrollViewContentInsetTop;

 

    

    if (@available(iOS 11.0, *)) {

        self.scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

        if ([self.scrollView isKindOfClass:[UITableView class]]) {

            // iOS 11的tableView自动算高默认自动开启,不想使用则要这样关闭

            UITableView *tableView = (UITableView *)self.scrollView;

            tableView.estimatedRowHeight = 0;

            tableView.estimatedSectionHeaderHeight = 0;

            tableView.estimatedSectionFooterHeight = 0;

        }

    } 

  

}

 之前为了解决上拉刷新跳动问题,在每个table初始化时设置了这几行(也是网上找的方案),好用的,不过后来发现按上面修改了MJRefreshHeader.m以后,这几行不加也可以了,免去了每个table修改一次的麻烦。 每个人手里的代码版本不同,所有找来的方案都只供参考。

        self.tableView.estimatedRowHeight = 0;

        self.tableView.estimatedSectionHeaderHeight = 0;

        self.tableView.estimatedSectionFooterHeight = 0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值