设置视图控制器根视图的外观代理

时间:2014-07-11 03:17:34

标签: ios uiviewcontroller uiappearance

使用UIAppearance时,是否可以仅定位视图控制器的根视图?我想从我的应用程序委托中为我的所有控制器设置setBackgroundColor,但是想要仅定位视图控制器上的直接视图。感谢。

详细说明,每个UIViewController子类都有自己的UIView对象,您可以通过其view属性调用它。这就是你在故事板中放置任何东西的视图,如UITableView,UITabBar等。我希望代理仅适用于该直接视图,因为UIKit中的所有内容都是UIView的子类。

这样做的目的是集中控制我的视图控制器外观。我发现也许我应该只使用UIViewController的子类,但我觉得让另一个地方去做我刚刚描述的事情仍然很酷。

1 个答案:

答案 0 :(得分:0)

不幸的是,您无法使用外观代理完成此操作。但是,如果您使用swift并从故事板或nib加载视图控制器,那么一个解决方案是扩展UIViewController并覆盖awakeFromNib,如下所示:

extension UIViewController {

    open override func awakeFromNib() {
        super.awakeFromNib()

        view.backgroundColor = UIColor.blue
    }
}