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;

你可能感兴趣的:(iOS11 tableView内容向下偏移20pt或向下偏移64pt的问题)