首页 文章

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

提问于
浏览
2

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

我想过使用属性字符串可以改变颜色 . 但是,我没有找到直接访问 Headers 并为其分配属性字符串的方法 .

您会建议在 UINavigationBar 中添加字符符号以及能够更改其颜色的解决方案是什么?

谢谢!

1 回答

  • 9

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

    self.title=@"Something •";
    

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

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

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

相关问题