Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)

(本文代码已升级至Swift4)

默认情况,导航栏UINavigationController的样式如下,如果想要使用代码修改样式也是比较简单的。

Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)_第1张图片
原文:Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)

1,修改导航栏背景色

Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)_第2张图片
原文:Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)

//修改导航栏背景色

self.navigationController?.navigationBar.barTintColor =UIColor(red: 55/255, green: 186/255, blue: 89/255, alpha: 1)

2,修改导航栏文字颜色

Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)_第3张图片
原文:Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)

//修改导航栏文字颜色
self.navigationController?.navigationBar.titleTextAttributes =[NSForegroundColorAttributeName: UIColor.white]

3,修改导航栏文字的字体样式和大小

Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)_第4张图片
原文:Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)

//修改导航栏文字字体和大小
self.navigationController?.navigationBar.titleTextAttributes =[NSFontAttributeName: UIFont.italicSystemFont(ofSize: 28)]

4,修改导航栏按钮颜色

不管是默认按钮,还是自定义的按钮,颜色都会被修改的。

Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)_第5张图片
原文:Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)

//修改导航栏按钮颜色
self.navigationController?.navigationBar.tintColor = UIColor.white

5,修改导航栏背景图片

如果背景图片不需要延伸到状态栏后面,那么背景图片高度是44点(88像素)。

Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)_第6张图片
原文:Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)

如果需要把导航栏也包含在背景图片下,那么背景图片高度改为64点(128像素)。

Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)_第7张图片
原文:Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)

不管何种尺寸,设置代码如下:

self.navigationController?.navigationBar
.setBackgroundImage(UIImage(named: "bg5"), for: .default)

原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_962.html

你可能感兴趣的:(Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片))