iOS导航栏的标题颜色默认是白色。有没有办法换一种颜色?
我知道navigationItem。使用图像的titleView方法。由于我的设计技能有限,我没有得到标准的光泽,我更喜欢改变文字的颜色。
任何见解都将非常感激。
iOS导航栏的标题颜色默认是白色。有没有办法换一种颜色?
我知道navigationItem。使用图像的titleView方法。由于我的设计技能有限,我没有得到标准的光泽,我更喜欢改变文字的颜色。
任何见解都将非常感激。
当前回答
要设置标题的字体大小,我使用了以下条件..也许对任何人都有帮助
if ([currentTitle length]>24) msize = 10.0f;
else if ([currentTitle length]>16) msize = 14.0f;
else if ([currentTitle length]>12) msize = 18.0f;
其他回答
又短又甜。
[[[self navigationController] navigationBar] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor redColor]}];
我遇到了一个问题,我的导航按钮将文本抛出中心(当你只有一个按钮时)。为了解决这个问题,我改变了我的帧大小,如下所示:
CGRect frame = CGRectMake(0, 0, [self.title sizeWithFont:[UIFont boldSystemFontOfSize:20.0]].width, 44);
斯威夫特版本
我发现你们大多数人都给出了Objective_C版本的答案
我想通过使用Swift为任何需要它的人实现这个功能。
在ViewDidload
1.要使导航栏背景变成颜色(例如:蓝色)
self.navigationController?.navigationBar.barTintColor = UIColor.blueColor()
2.要使导航栏背景变成图像(例如:ABC.png)
let barMetrix = UIBarMetrics(rawValue: 0)!
self.navigationController?.navigationBar
.setBackgroundImage(UIImage(named: "ABC"), forBarMetrics: barMetrix)
3.更改导航栏标题(例如:[字体:Futura,10][颜色:红色])
navigationController?.navigationBar.titleTextAttributes = [
NSForegroundColorAttributeName : UIColor.redColor(),
NSFontAttributeName : UIFont(name: "Futura", size: 10)!
]
(提示1:不要忘记UIFont后面的“!”标记) (hint2:有很多属性的标题文本,命令点击 在“NSFontAttributeName”中,你可以进入类并查看keyNames 和他们需要的对象类型)
希望我能帮上忙!: D
方法一,设置为IB:
方法二,一行代码:
navigationController?.navigationBar.barTintColor = UIColor.blackColor()
在IOS 7和8中,你可以将标题的颜色改为绿色
self.navigationController.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor greenColor] forKey:NSForegroundColorAttributeName];