【问题标题】:Navbar tintColor change affecting app. Issue影响应用程序的导航栏 tintColor 更改。问题
【发布时间】: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。

【问题讨论】:

    标签: objective-c ios7 xcode5


    【解决方案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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多