Navbar tintColor更改影响应用程序。问题

时间:2013-12-28 04:11:09

标签: objective-c ios7 xcode5

我目前正在我的一个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。

1 个答案:

答案 0 :(得分:1)

根据Apple's documentation for tintColor

  

<强>讨论

     

在iOS v7.0中,UIView的所有子类都派生出它们的行为   来自基类的tintColor。请参阅tintColor的讨论   UIView级别了解更多信息。

这意味着所有视图现在从导航栏中选取tintColor。如果要将其设置为仅适用于一个视图控制器,则需要为所有视图设置默认颜色,然后在“viewWillAppear:”期间明确设置(并可能撤消它 - 或恢复原始视图)你想要的色彩 - 通过“viewWillDisappear”)。