关于iOS11 MJRefresh上下拉刷新无法收回的原因之一

如果使用了 automaticallyAdjustsScrollViewInsets 这个属性,那就不关 MJRefresh 的事了,很不幸,iOS11弃用了 automaticallyAdjustsScrollViewInsets 属性,而是新增了 contentInsetAdjustmentBehavior 来替代它,这是 UIScrollView 的一个属性,若在iOS11中使用 UIScrollView 及其子类并不想系统帮我们自动设置边距,就要这样设置:

scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
if (@available(iOS 11.0, *)) {
    scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
if ([scrollView isKindOfClass:[UITableView class]]) {
    // iOS 11的tableView自动算高默认自动开启,不想使用则要这样关闭
    UITableView *tableView = (UITableView *)scrollView;
    tableView.estimatedRowHeight = 0;
    tableView.estimatedSectionHeaderHeight = 0;
    tableView.estimatedSectionFooterHeight = 0;
} else {
    self.automaticallyAdjustsScrollViewInsets = NO;
}

另外如果也不想使用iOS 11的导航栏 titleView 的变大变小效果,使用自定义的 titleView 尺寸,就要在自定义的 titileView 内部,重写 intrinsicContentSize 方法,返回想要尺寸。

- (CGSize)intrinsicContentSize {
    return self.contentSize;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • iOS 11适配源码 Demo地址 安全区域的适配 用Xcode 9 创建storyboard或者xib时,最低版...
    Bytesking阅读 11,626评论 5 24
  • 适配iOS11 🍎苹果官方文档🍎苹果官方视频为了挣钱...哦😯不是,为了广大中国的开发者,苹果官方文档出了好多中文...
    philiha阅读 4,868评论 1 50
  • 我是几近哽咽着写下的这篇文章 ——落羽 或许世间就是有这么一类人, 他可以很好,好到她喜欢的不得了; 很多人说。 ...
    你的一个远方朋友阅读 2,900评论 0 3
  • 【我要推荐】007-378 樊仕群:一读三毛误终生,从此红尘是路人。 我唯一锲而不舍的是:愿以自己的生命去努力,保...
    两香蕉妈妈阅读 1,661评论 0 0
  • Android系统每次发生ANR后,都会在/data/anr/目录下面输出一个traces.txt文件,这个文件记...
    HuangTao_Zoey阅读 30,731评论 2 50

友情链接更多精彩内容