iOS 11+ MJRefresh的bug

2018-12-23  本文已影响11人  Smallwolf_JS

之前的estimatedSection******Height默认为0,现在不为0了,直接写第一部分代码也可以,或者不设置estimatedSection,把代码2两个代理补上也行,看自己选择,本质原因就是因为默认值问题,这两种方式都可以解决这个默认值问题

代码1
if (@available(iOS 11.0, *)) {
        self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
        // est和代理 可选1个
        self.tableView.estimatedSectionFooterHeight = 0;
        self.tableView.estimatedSectionHeaderHeight = 0;
    } else {
        self.automaticallyAdjustsScrollViewInsets = NO;
    }
代码2
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
    return nil;
}

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    return nil;
}

cell高度出现高度重合问题

self.tableView.estimatedRowHeight = 0;
1
default is UITableViewAutomaticDimension, set to 0 to disable

当这时碰到MJRefresh的MJRefreshAutoNormalFooter的时候,如果你没有写上面的代码,你就会发现你的footerRefreshBlook会不停的调用,因为mjrefresh认为你在不停的上拉。

上一篇下一篇

猜你喜欢

热点阅读