2016-02-15 256 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的更多信息。