本文主要研究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底部开始算起。
状态栏样式
重写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()
}