iOS11 tableView内容向下偏移20pt或向下偏移64pt的问题

错误原因:
默认情况下self.extendedLayoutIncludesOpaqueBars = NO 扩展布局不包含导航栏,默认情况下self.automaticallyAdjustsScrollViewInsets = YES 自动计算滚动视图的内容边距
自定义的navigationbar,隐藏掉系统的navigationbar,SafeAreaInsets值为(20,0,0,0)
系统的navigationbar,隐藏掉系统的navigationbar,SafeAreaInsets值为(64,0,0,0)
解决办法:
self.extendedLayoutIncludesOpaqueBars = YES;

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

        self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

} else {

        self.automaticallyAdjustsScrollViewInsets = NO;

}

// 设置tableView的内边距(能够显示出导航栏和tabBar下覆盖的内容)

_tableView.contentInset = UIEdgeInsetsMake(64, 0, 49, 0);

// 设置内容指示器(滚动条)的内边距

_tableView.scrollIndicatorInsets = _tableView.contentInset;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容