码迷,mamicode.com
首页 > 其他好文 > 详细

Navigation Bar 和 Status Bar 的设置

时间:2016-10-22 17:31:29      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:div   起点   而且   date   elf   它的   cti   nav   半透明   

 

概念:所谓的UINavigationItem就可以理解为Navigation Bar中的内容,通过编辑UINavigationItem, 我们可以使得在Navigation Bar中显示想要的东西,比如设置标题、添加按钮

 

navigationItem和UINaviagationController平级,

1. navigationBar自己有很多属性:比如 barStyle 、背景 backgroundColor 、frame属性(可以获得宽高这些信息)

2. 可以通过setBackgroundImage方法设置背景图片,并使用clipsToBounds裁剪

 

navigationBar的隐藏

这个需要其爸self.navigationController来控制。直接设置navigationBarHidden设置true或false

 

navigationItem的设置

1. 设置title。 self.navigationItem.title = 

2. 设置titleView

3. 设置左右边的按钮 

self.navigationItem.leftBarButtonItem

self.navigationItem.leftBarButtonItems

 

UIStatusBar 

控制StatusBar的显示 

//如果更换了return值,则需要调用 setNeedsStatusBarAppearanceUpdate 方法
    @IBAction func gggg(_ sender: AnyObject) {
        h = !h
    
    }
    
    
    var h  = false
        {
        didSet{
           // setNeedsStatusBarAppearanceUpdate()
            UIView.animate(withDuration: 0.25, animations: {
                self.setNeedsStatusBarAppearanceUpdate()
            })
        }
    }
    

    
    var style:UIStatusBarStyle = UIStatusBarStyle.default
    
    
    override var preferredStatusBarStyle: UIStatusBarStyle   {
        get{
            return style
        }
    }
    
    override var prefersStatusBarHidden: Bool {
        get{
            return h
        }
    }

  

在 iOS 以后 ViewController开始使用全屏布局的,而且默认的行为涉及到edgesForExtendedLayout. 指定边缘要延伸的方向,它的默认值很自然的是 UIRectEdgeAll,从四周边缘均延伸。就是即使视图中上有 navigationBar, 下有tabBar,那么视图仍会延伸覆盖到四周的区域。

OS7及以上版本有改动,UITabBar类添加了一个translucent属性,UINavigationBar类中的translucent属性也默认修改为YES。也就是说默认使用了这两个bar之后,显示的是半透明的效果,能够模糊看到被bar遮盖的东西。这会导致一些问题,比如配色的色差以及我们下面将的xib文件控件位置起点的问题。

Navigation Bar 和 Status Bar 的设置

标签:div   起点   而且   date   elf   它的   cti   nav   半透明   

原文地址:http://www.cnblogs.com/jackyzhong123/p/5985885.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!