Swift - 修改导航栏的样式(文字颜色,背景颜色,背景图片)
作者:hangge | 2015-11-30 09:01
(本文代码已升级至Swift4)
1,修改导航栏背景色
//修改导航栏背景色
self.navigationController?.navigationBar.barTintColor =
UIColor(red: 55/255, green: 186/255, blue: 89/255, alpha: 1)
2,修改导航栏文字颜色
//修改导航栏文字颜色
self.navigationController?.navigationBar.titleTextAttributes =
[NSForegroundColorAttributeName: UIColor.white]
3,修改导航栏文字的字体样式和大小

//修改导航栏文字字体和大小
self.navigationController?.navigationBar.titleTextAttributes =
[NSFontAttributeName: UIFont.italicSystemFont(ofSize: 28)]
4,修改导航栏按钮颜色
不管是默认按钮,还是自定义的按钮,颜色都会被修改的。
//修改导航栏按钮颜色 self.navigationController?.navigationBar.tintColor = UIColor.white
5,修改导航栏背景图片
如果背景图片不需要延伸到状态栏后面,那么背景图片高度是44点(88像素)。
如果需要把导航栏也包含在背景图片下,那么背景图片高度改为64点(128像素)。
不管何种尺寸,设置代码如下:
self.navigationController?.navigationBar
.setBackgroundImage(UIImage(named: "bg5"), for: .default)
全部评论(5)
你好,请问怎么修改导航栏文字的字体?是只能在StoryBoard上修改吗?
站长回复:代码中也可以修改的,我在文章中补充了相关内容,你可以看下。
有的控制器没用导航栏,怎么改状态栏背景颜色,比如改成红色
站长回复:直接在最顶部添加一个UIView(宽高设置成和状态栏一样),背景设为红色。
站长好,请问下能不能写一篇关于MD5加密集成的文章,找了好多,没有感觉比较好的
站长回复:MD5加密的文章我原来有写过:Swift - 获取字符串的MD5值
如果背景图片不需要延伸到状态栏后面,那么背景图片高度是44点(88像素)。如何把状态栏背景色设置成白色?
站长回复:把背景图修改下,背景图高度改为64点(128像素),上半部分(20)使用白色背景。
怎么全局修改导航栏的颜色
站长回复:导航栏都是共用同一个的,一改同一个栈内所有页面上的导航栏都会一起变。