isTranslucent
設(shè)置navigationBar是否半透明,默認(rèn)為
True。
當(dāng)isTranslucent為False時(shí),添加view的frame默認(rèn)從navigationBar下方開(kāi)始計(jì)算
去除navigationBar下方黑線
navigationBar.shadowImage = UIImage()
automaticallyAdjustsScrollViewInsets、contentInsetAdjustmentBehavior
是否自動(dòng)設(shè)置scrollView的內(nèi)邊距,默認(rèn)為
True,為False時(shí),添加view的frame默認(rèn)從navigationBar下方開(kāi)始計(jì)算
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
} else {
automaticallyAdjustsScrollViewInsets = false
}
automaticallyAdjustsScrollViewInsets與edgesForExtendedLayout區(qū)別
edgesForExtendedLayout設(shè)置的是位置,automaticallyAdjustsScrollViewInsets設(shè)置的是內(nèi)邊距。
ticallyAdjustsScrollViewInsets為True相當(dāng)于scrollView.contentInset = UIEdgeInsets(top: navigationBar.heigth, left: 0, bottom: 0, right: 0)
extendedLayoutIncludesOpaqueBars
補(bǔ)充當(dāng)navigationBar不透明的時(shí)候是否讓scrollView能夠顯示于navigationBar下方。默認(rèn)為False.
容易出錯(cuò)的地方:
navigationBar為不透明時(shí),extendedLayoutIncludesOpaqueBars為true時(shí),scrollView將從navigationBar頂點(diǎn)的位置開(kāi)始布局,而不是從navigationBar底部開(kāi)始。