在app中多次自定义相同的UINavigationBar

时间:2014-10-05 19:09:22

标签: ios uinavigationcontroller uinavigationbar titleview

我使用titleTextAttributes自定义不同颜色和自定义字体的UINavigationBar。但是,当我移动到另一个视图时,我想使用与之前相同的自定义字体的不同颜色。

我用过,

[[UINavigationBar appearance] setTitleTextAttributes:mySettings]
在AppDelegate.m中

。当在另一个viewController的viewDidLoad中使用newSettings调用相同的方法时,它不会被反映。

我可以在另一个viewController的viewDidLoad中更改条形颜色或条形色调颜色。但是,我的标题前景色不会改变。我错过了什么吗?

我必须拥有自定义titleView的最后一个解决方案。但是想避免它。有什么输入吗?

1 个答案:

答案 0 :(得分:0)

[[UINavigationBar appearance] setTitleTextAttributes:mySettings]全局配置,因此在其他视图控制器中更改它的原因并不起作用。我相信您无法自定义导航项的titleView属性,...:/

您可以通过创建具有所需设置的UILabel然后将其分配给属性来执行此操作:

 NSAttributedString *title = [[NSAttributedString alloc] string:"the title" attributes:mySettings];
 UILabel *newTitleView = [[UILabel alloc] init];
 newTitleView.attributedText = title;
 self.navigationItem.titleView = newTitleView; 
相关问题