使用 UIAppearance 设置视图控制器的直接视图背景颜色

Posted

技术标签:

【中文标题】使用 UIAppearance 设置视图控制器的直接视图背景颜色【英文标题】:Set direct view background color of view controller using UIAppearance 【发布时间】:2014-09-10 01:20:45 【问题描述】:

如何在我的应用程序中使用 UIAppearance 为视图控制器设置直接视图背景颜色而不影响其所有子视图?似乎 ios 7 正在强制所有条形按钮项呈现蓝色?

【问题讨论】:

iOS set background color for all viewcontroller self.view's的可能重复 不是重复的 - 我只想要直接查看,而不是它的子视图。 【参考方案1】:

很遗憾,您无法使用外观代理来完成此操作。但是,如果您使用 swift 并从情节提要或 nib 加载视图控制器,一种解决方案是扩展 UIViewController 并覆盖 awakeFromNib,如下所示:

extension UIViewController 

    open override func awakeFromNib() 
        super.awakeFromNib()

        view.backgroundColor = UIColor.blue
    

【讨论】:

以上是关于使用 UIAppearance 设置视图控制器的直接视图背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

禁用视图控制器的 UIAppearance

与自定义视图控制器一起使用时,UINavigationBar 的 UIAppearance 不起作用...?

除了在模态视图控制器中使用 UIAppearance 样式吗?

如何使用 UIappearance 在根视图控制器中获取透明导航栏

弹出视图控制器时 UIAppearance 未更新

UIAppearance 代理规则何时应用于新的视图控制器?