美文网首页iOS Developer
iOS Swift3.x 设置导航栏 分栏控制器 状态栏

iOS Swift3.x 设置导航栏 分栏控制器 状态栏

作者: Hellolad | 来源:发表于2016-12-20 16:10 被阅读421次

iOS Swift3.x 设置导航栏 分栏控制器 状态栏

测试 (Swift3.x + Xcode 8.1 + iPhone 7p 模拟器)

分栏控制器(UITabbar)
// 设置字体颜色
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.black,
                                                          NSFontAttributeName: UIFont.systemFont(ofSize: 10, weight: 1.5)], for: .selected)
// 设置分栏控制器为透明/隐藏黑色线条
self.tabBar.backgroundImage = UIImage()
self.tabBar.shadowImage     = UIImage()
导航栏控制器(UINavgationBar)
// 设置导航栏为透明的白色
self.navigationController?.navigationBar.barTintColor = UIColor.black
self.navigationController?.navigationBar.hideBottomHairLine()
self.navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont.systemFont(ofSize: 16),
                                                                NSForegroundColorAttributeName: UIColor.white]
// MARK: - 扩展 UINavigationBar 显示/隐藏 黑色线条
extension UINavigationBar {
    
    func hideBottomHairLine() {
        let navigationBarImageView = hairLineImageViewInNavigationBar(view: self)
        navigationBarImageView?.isHidden = true
    }
    
    func showBottomHairLine() {
        let navigationBarImageView = hairLineImageViewInNavigationBar(view: self)
        navigationBarImageView?.isHidden = false
    }
    
    func hairLineImageViewInNavigationBar(view: UIView) -> UIImageView? {
        if view.isKind(of: UIImageView.self) && view.bounds.height <= 1.0 {
            return (view as! UIImageView)
        }
        
        let subViews = (view.subviews as [UIView])
        for subView: UIView in subViews {
            if let imageView: UIImageView = hairLineImageViewInNavigationBar(view: subView) {
                return imageView
            }
        }
        return nil
    }
}
状态栏设置为白色的字(UIStatusBarStyle)

Info.plist 加上 View controller-based status bar appearance 设置 NO

点击项目 General -> Deployment Info -> Status Bary Style -> Light


Simulator Screen Shot 2016年12月20日 16.05.58.png

相关文章

  • iOS Swift3.x 设置导航栏 分栏控制器 状态栏

    iOS Swift3.x 设置导航栏 分栏控制器 状态栏 测试 (Swift3.x + Xcode 8.1 + i...

  • 超简单!!! iOS设置状态栏、导航栏按钮、标题、颜色、透明度,

    超简单!!! iOS设置状态栏、导航栏按钮、标题、颜色、透明度,偏移等 超简单!!! iOS设置状态栏、导航栏按钮...

  • iOS-导航栏,状态栏

    包括iOS状态栏,导航栏,TabBar,滑动手势问题等 1.超简单!!! iOS设置状态栏、导航栏按钮、标题、颜色...

  • iOS 小功能实现总结

    一、导航栏1、状态栏(1)、更改状态栏的字体颜色参考博客:IOS上 关于状态栏的相关设置(UIStatusBar)...

  • 导航条和状态栏相关

    状态栏 1.iOS7之后默认将状态栏的属性交给当前所属控制器管理: 一、若当前控制器不是导航控制器: (1) ...

  • 关于导航栏和状态栏

    两篇文章了解 iOS状态栏使用总结【iOS 开发】Status Bar 状态栏设置汇总 补充:当导航栏设为透明的时...

  • UINavgationViewController

    一. 设置全部导航条的背景 二.设置导航条上所有Item 三.设置状态栏模式 四.导航控制器不能设置左右item和...

  • iOS分开设置状态栏和导航栏

    本文首发地址 本文介绍iOS7以后的状态栏设置宝典 大概自iOS7以后状态栏和导航栏好像穿同一条裤子了,给导航栏设...

  • 2018-04-09

    原文:IOS状态栏和导航栏的控制问题 IOS的项目多数会遇到控制状态栏和导航栏的问题,比如隐藏状态栏、控制状态栏的...

  • iOS状态栏使用总结<转>

    目录: 一、状态栏与导航栏二、设置状态栏显隐与字体样式三、设置状态栏背景色四、启动页隐藏状态栏五、状态栏、导航栏相...

网友评论

    本文标题:iOS Swift3.x 设置导航栏 分栏控制器 状态栏

    本文链接:https://www.haomeiwen.com/subject/wbffvttx.html