我使用titleTextAttributes自定义不同颜色和自定义字体的UINavigationBar。但是,当我移动到另一个视图时,我想使用与之前相同的自定义字体的不同颜色。
我用过,
[[UINavigationBar appearance] setTitleTextAttributes:mySettings]
在AppDelegate.m中。当在另一个viewController的viewDidLoad中使用newSettings调用相同的方法时,它不会被反映。
我可以在另一个viewController的viewDidLoad中更改条形颜色或条形色调颜色。但是,我的标题前景色不会改变。我错过了什么吗?
我必须拥有自定义titleView的最后一个解决方案。但是想避免它。有什么输入吗?
答案 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;