本文主要研究tabBar控制器和導航控制器的一些交互特性。
相似點:
tabBar 和 navigationBar默認都是透明的;
shadowImage都要配合backgroundImage才能生效
IB中注意事項:
1、子控制器如果勾選了Under Top Bars 或者 Under Bottom Bars,則子控制器高度從tabBar底部或navigationBar底部算起;反之,子控制器高度會從tabBar頂部或者navigationBar底部開始算起。
2、如果navigationBar的isTranslucent = true, 則子控制器高度從tabBar底部或navigationBar底部算起;反之,子控制器高度會從tabBar頂部或者navigationBar底部開始算起。

WX20180911-103034@2x.png
狀態(tài)欄樣式
重寫preferredStatusBarStyle,返回需要的樣式。
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.navigationBar.setBackgroundImage(UIColor.imageFromColor(color: #colorLiteral(red: 0.1764705926, green: 0.4980392158, blue: 0.7568627596, alpha: 1)), for: .default)
navigationController?.navigationBar.shadowImage = UIColor.imageFromColor(color: .red)
navigationController?.navigationBar.barStyle = .black
navigationController?.navigationBar.tintColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
setNeedsStatusBarAppearanceUpdate()
}