可以用 UIAppearance 来设置 UINavigationItem 的 titleview 吗?

Posted

技术标签:

【中文标题】可以用 UIAppearance 来设置 UINavigationItem 的 titleview 吗?【英文标题】:Can you use UIAppearance to set the titleview of UINavigationItem? 【发布时间】:2012-06-27 16:30:48 【问题描述】:

我目前使用这段代码来设置我的导航项的titleView:

- (void)viewDidLoad 
 ...
   UIImage *navbarTitle = [UIImage imageNamed:@"navbartitleview1"];
   UIImageView *imageView = [[UIImageView alloc]initWithImage:navbarTitle];
   self.navigationItem.titleView =imageView;

有没有办法可以使用 UIAppearance 放置此代码?

[UINavigationItem appearance]

无效。

【问题讨论】:

简单地说,不。如果您正在查看头文件,则必须使用 UI_APPEARANCE_SELECTOR 标记属性。 UINavigationItem 也不符合 UIAppearance 协议。 啊,原来如此,谢谢。 【参考方案1】:

不,你不能用UIAppearence 做到这一点,你可以拥有一个UIViewController,所有其他 UIViewController 将从那里继承。想办法避免将代码放入所有UIViewControllers

【讨论】:

以上是关于可以用 UIAppearance 来设置 UINavigationItem 的 titleview 吗?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法用 UIAppearance 设置 UITextField 的占位符颜色

使用 UIAppearance 代理设置 UILabel 样式

如何使用 UIAppearance 设置 ViewController 的 backgroundColor

我啥时候可以开始使用使用 UIAppearance 设置的属性?

iOS - 防止 UIAppearance 设置更改 UIWebView 输入附件视图

设置 UIAppearance 不会影响 cocoapod UI 组件