影响应用程序的导航栏 tintColor 更改。问题
Posted
技术标签:
【中文标题】影响应用程序的导航栏 tintColor 更改。问题【英文标题】:Navbar tintColor change affecting app. Issue 【发布时间】:2013-12-28 04:11:09 【问题描述】:我目前在我的一个 VC 的 viewDidLoad 方法中使用它,它嵌入在导航控制器中。我们将嵌入式 VC 称为 VC1。
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:153/256.0 green:204/256.0 blue:53/256.0 alpha:1.0];
-(不能 ctl+k,在 iPhone 上).. 无论如何,代码有效地改变了我的 VC 的 UIBarButtonItem 的颜色,但是,它也改变了我的第二个视图控制器的条形按钮,它是从 VC1 推送的( NavController 嵌入 VC1 将 segues 推送到“VC2”),如何保持 VC2 的 tintColor 不改变?
附注我需要保持 push segue。
【问题讨论】:
【参考方案1】:根据Apple's documentation for tintColor
:
讨论
在 ios v7.0 中,UIView 的所有子类都派生出它们的行为 来自基类的 tintColor。请参阅 tintColor 的讨论 UIView 级别了解更多信息。
这意味着 所有视图 现在从导航栏中选择 tintColor。如果您只想为一个视图控制器设置它,您需要为所有视图设置默认颜色,然后在“viewWillAppear:
”期间显式设置它(并且可能撤消它 - 或恢复原始色调颜色你想要的——通过“viewWillDisappear
”)。
【讨论】:
嘿,这些方法工作得很好,但是在使用 viewWillAppear 时会有轻微的重叠,因为在它实际切换视图之前,我可以在非常快的时间范围内看到按钮转换颜色。我已经尝试过“Did”方法,但也不是,有没有办法可以给 viewWillAppear 一个时机? 您真的要延迟您的视图出现吗? 不.. 我不知道。但我想知道是否可以延迟 UIBarButton tintColor 更改。我想这很重要的唯一原因是它是一个“视觉效果缺陷”,我想我会说.. 或者在 iPhone 上实际运行时这不会有任何问题吗?.. 仍在等待 duns# for iOSDevPrgrm 叹息 您还可以在情节提要或 xib 文件中更改视图控制器上的 tintColor以上是关于影响应用程序的导航栏 tintColor 更改。问题的主要内容,如果未能解决你的问题,请参考以下文章
iOS:更改所有导航栏的 self.navigationController.navigationBar.tintColor 更改