标签: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