2014-10-20 57 views
0

我希望在应用输入或即将进入背景时更改图像。如何在应用即将进入背景时更改UIImage - swift

文件名AppDelegate.swift

func applicationWillResignActive(application: UIApplication) { 
    ViewController().changeImg();   
} 

文件名ViewController.swift

func changeImg(){ 
    backgroundImg.image = UIImage(named: "blue") as UIImage; 
} 

但我代一个错误

fatal error: unexpectedly found nil while unwrapping an Optional value 

回答

0

这一行

ViewController().changeImg() 

您正在实例化一个新的空的ViewController,它没有changeImg方法。您需要对您的自定义viewController的引用。

如果是的viewController你RootViewController的,你可以通过

// create a property in appDelegate for your viewController 
var viewController: ViewController? 


func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool { 

    let navigationController = application.windows[0].rootViewController as UINavigationController 
    viewController = navigationController.viewControllers[0] as ViewController 
} 

在你的appDelegate找到它,那么你可以调用

viewController?.changeImg() 
+0

我看,我该怎么办呢? – Ben 2014-10-20 11:18:56

+0

我已经更新我的答案 – zisoft 2014-10-20 11:22:37

+0

让navigationController = application.windows [0] .rootViewControlle为UINavigationController的 self.viewController = navigationController.viewControllers [0]视图控制器 – Ben 2014-10-20 11:25:06

相关问题