2016-02-15 214 views
0

我有一个用Swift编写的简单iOS应用程序,每次按下按钮时都会选择一个随机背景颜色。在视图中有一个“积分”按钮,可用作另一个视图的模态。如何根据背景在第一个视图中的颜色来设置第二个视图的颜色?更改视图颜色基于另一个视图的颜色

回答

1

你可以这样归档此:

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { 
    if (segue.identifier == "Load View") { 
     // pass data to next view 
     let viewController:ViewController = segue!.destinationViewController as ViewController 
     viewController.view.backgroundColor = self.view.backgroundColor 
    } 
} 
1

您需要将颜色从第一个控制器传递到第二个。下面是摘录。

let destinationVC:ViewControllerClass = segue.destinationViewController as! ViewControllerClass 
destinationVC.color = view.backgroundColor 
1

您可以传递一些参数给你介绍或通过重写prepareForSegue方法推视图控制器:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {   
    if let secondViewController = segue.destinationViewController as? MySecondViewControllerClass { 
     secondViewController.view.backgroundColor = view.backgroundColor 
    } 
} 

你可以查找来自Apple的UIViewController documentation的关于prepareForSegue的更多信息。