以编程方式更改导航栏标题:添加符号并更改其颜色

时间:2013-03-11 20:31:37

标签: ios objective-c uiview uinavigationcontroller uikit

我想在我的导航控制器UINavigationBar的标题中添加一个字符符号(例如空白字符后跟子弹符号“•”)。根据我的应用程序的状态,我想改变子弹的前景色。

我考虑过使用属性字符串来改变颜色。 但是,我没有找到直接访问标题的方法,并为其指定了一个属性字符串。

您建议在UINavigationBar添加字符符号并更改其颜色时使用哪种解决方案?

谢谢!

1 个答案:

答案 0 :(得分:9)

如果您的视图控制器包含在导航控制器中,则设置title属性就足够了:

self.title=@"Something •";

Xcode和NSStrings完全符合UTF-8标准,所以把子弹放在字符串中就好了。

如果您尝试独立操作导航栏标题,则必须通过一些环节才能找到它。如果您知道它是根视图控制器,那么您可以执行以下操作:

UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
UINavigationController *navCtrl = (UINavigationController*)[keyWindow rootViewController];
UINavigationItem *topItem = [navCtrl topItem];
topItem.title = @"Something •";