UITabBarController & UINavigationController

本文主要研究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

状态栏样式

重写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()
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容