从 ViewController 调用应用程序时如何设置应用程序的 UIWindow 颜色

use*_*509 1 uiwindow ios swift

在 App 委托中,可以设置应用程序的UIWindow颜色,如代码所示。

但是,当尝试在 中将应用程序的UIWindow颜色设置为不同的颜色时ViewController,例如调用 将self.window?.backgroundColor = UIColor.blueColor()被忽略。不会发生错误,但也不会发生颜色变化。

题:

1 - 在ViewController? 中调用应用程序时如何设置应用程序的窗口颜色?注意:我不是要更改视图背景颜色,而是要更改视图UIWindow后面的颜色。

class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        self.window?.backgroundColor = UIColor.redColor()

        return true

    }

}
Run Code Online (Sandbox Code Playgroud)

JAL*_*JAL 5

尝试通过您的AppDelegateUIApplication类访问窗口:

    

if let window = (UIApplication.sharedApplication().delegate?.window)! as UIWindow! {
    window.backgroundColor = UIColor.redColor()
}
Run Code Online (Sandbox Code Playgroud)

或者

if let window = UIApplication.sharedApplication().windows.first as UIWindow! {
    window.backgroundColor = UIColor.redColor()
}
Run Code Online (Sandbox Code Playgroud)