我目前正在我的一个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推送segue到“VC2”),如何保持VC2的tintColor不变?
P.S。我需要保持推送segue。
答案 0 :(得分:1)
根据Apple's documentation for tintColor
:
<强>讨论强>
在iOS v7.0中,UIView的所有子类都派生出它们的行为 来自基类的tintColor。请参阅tintColor的讨论 UIView级别了解更多信息。
这意味着所有视图现在从导航栏中选取tintColor。如果要将其设置为仅适用于一个视图控制器,则需要为所有视图设置默认颜色,然后在“viewWillAppear:
”期间明确设置(并可能撤消它 - 或恢复原始视图)你想要的色彩 - 通过“viewWillDisappear
”)。