自定义 UINavigationBar 背景适用于除一个之外的所有导航控制器
Posted
技术标签:
【中文标题】自定义 UINavigationBar 背景适用于除一个之外的所有导航控制器【英文标题】:Custom UINavigationBar Background Working on all Navigation Controllers Except One 【发布时间】:2013-12-14 20:56:48 【问题描述】:我有一系列由根导航控制器连接的视图控制器。所有的视图控制器都是表视图,除了一个是视图控制器。
我有一个自定义的 navigationBar 图像,我在 App Delegate 中应用了它,它在任何地方都很好用,除了这个视图控制器。这样,当 segue 发生(Push)时,它几乎将自定义背景与另一个图像强加在一起,结果是一个更暗的 uinavigationBar。
我在 App Delegate 中的代码是:
UIImage *nav = [UIImage imageNamed:@"Purple.png"];
[UINavigationBar appearance] setBackgroundImage:nav forBarMetrics:UIBarMetricsDefault];
是否有人对我可以做些什么来确保此视图控制器维护正确的自定义 UINavigationBar 有任何想法?
在这个视图的viewDidLoad中,我什至尝试过设置这个:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"Purple.png"] forBarMetrics:UIBarMetricsDefault];
我也在 viewWillAppear 中尝试过这个,但没有 - 仍然是那个更暗的图像。
任何想法将不胜感激!
【问题讨论】:
【参考方案1】:你写错了
UIImage *nav = [UIImage imageNamed:"@Purple.png@];
用这个替换它
UIImage *nav = [UIImage imageNamed:@"Purple.png"];
【讨论】:
抱歉 - 这是我在写出问题时的一个不幸的错字 - Safari 在该机器上复制/粘贴速度太慢!在问题中更正 对不起@thorb - 你有什么办法解决这个问题吗?以上是关于自定义 UINavigationBar 背景适用于除一个之外的所有导航控制器的主要内容,如果未能解决你的问题,请参考以下文章
删除 MFMailComposer 和 MFMessageComposer 的自定义 UINavigationBar
UINavigationBar 自定义背景与悬垂(iOS 5)