Swift_ios_开发之UINavigationController的常用属性那些事

1.导航栏是否隐藏

self.navigationController?.navigationBar.hidden = false

这里要注意一点,navigationBar在页面中是与基View平级的,所以如果导航栏一开始是隐藏的,当页面加载完毕又想让他显示,这时候会发现基页面整体向下移动了,并且原来的内容会有一部分显示不完整!经过调试发现,如果不隐藏导航栏,基view的高度是屏幕高度与导航栏高度的差;如果隐藏了导航栏,基view的高度就是整个屏幕的高度。所以一开始隐藏了导航栏,页面加载完成再显示,就需要把基view的高度减去导航栏的高度!

2.导航栏的最底部颜色设置

//backgroundColor 是最底下的color 
self.navigationController?.navigationBar.backgroundColor = UIColor.redColor()

3.导航栏的表层颜色,即首先看到的颜色

//barTintColor 是表层颜色
self.navigationController?.navigationBar.barTintColor = UIColor.grayColor()

4.导航栏中间标题title的颜色,大小,字体设置

self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName:UIColor.blueColor(),NSFontAttributeName:UIFont(name: "Heiti SC", size: 24.0)!]

5.导航栏隐藏左边backitem,即leftbarbuttonitem

//完全隐藏backItem//
self.navigationItem.setHidesBackButton(true, animated: true)

6.导航栏leftbarbuttonitem的颜色设置

swiftself.navigationController?.navigationBar.tintColor = UIColor.whiteColor()

7.导航栏leftbarbuttonitem的字体,颜色,大小设置

self.navigationItem.leftBarButtonItem?.setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.blueColor(),NSFontAttributeName: UIFont(name: "Chalkduster", size: 13)!], forState: UIControlState.Normal)

8.导航栏重新定义leftbarbuttonitem

//重新定义backItem,将覆盖原来的BackItem.与storyboard中拖入一个item,效果一样。都是覆盖原来的backitem。

//第一种代码定义方式
self.navigationItem.setLeftBarButtonItem(UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Add, target: self, action: "function"), animated: true)

//第二种代码定义方式 
self.navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Add, target: self, action: "function")

//第三种代码定义的方式
self.navigationItem.setLeftBarButtonItem(UIBarButtonItem(title: "<Grandre", style: UIBarButtonItemStyle.Plain, target: self, action: "function"), animated: true)

9.导航栏设置成透明

//将导航栏设置成透明
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
self.navigationController!.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.translucent = true

如果对你有帮助,记得mark一下哦!


 

文/ChinaSwift(简书作者)
原文链接:http://www.jianshu.com/p/738d9387ed12/comments/1185395
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

转载于:https://my.oschina.net/JiangTun/blog/719613

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值