isTranslucent
设置navigationBar是否半透明,默认为
True。
当isTranslucent为False时,添加view的frame默认从navigationBar下方开始计算
去除navigationBar下方黑线
navigationBar.shadowImage = UIImage()
automaticallyAdjustsScrollViewInsets、contentInsetAdjustmentBehavior
是否自动设置scrollView的内边距,默认为
True,为False时,添加view的frame默认从navigationBar下方开始计算
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
} else {
automaticallyAdjustsScrollViewInsets = false
}
automaticallyAdjustsScrollViewInsets与edgesForExtendedLayout区别
edgesForExtendedLayout设置的是位置,automaticallyAdjustsScrollViewInsets设置的是内边距。
ticallyAdjustsScrollViewInsets为True相当于scrollView.contentInset = UIEdgeInsets(top: navigationBar.heigth, left: 0, bottom: 0, right: 0)
extendedLayoutIncludesOpaqueBars
补充当navigationBar不透明的时候是否让scrollView能够显示于navigationBar下方。默认为False.
容易出错的地方:
navigationBar为不透明时,extendedLayoutIncludesOpaqueBars为true时,scrollView将从navigationBar顶点的位置开始布局,而不是从navigationBar底部开始。