2017-06-14 90 views
0

我正在製作一個具有2個視圖控制器的應用程序,我希望能夠通過第二個視圖控制器上的開關更改第一個視圖控制器的背景和其他功能。我對編程相當陌生,不知道它是如何完成的。我設法改變了第二個視圖控制器上的元素,但無法弄清楚如何改變它們。這是我對第二個視圖控制器的代碼。我需要更改什麼,以便第一個視圖控制器背景也發生變化?第二個視圖控制器上的開關更改第一個視圖控制器的背景

// set function for changing to dark mode 
func updateMySwitchState(){ 
    if darkModeSwitch.isOn { 
     self.view.backgroundColor = UIColor.black 
     removeAds.textColor = UIColor.white 
     aboutText.textColor = UIColor.white 
     about.textColor = UIColor.white 
     backButton.setImage(UIImage(named: "backinvert-40"), for: .normal) 

    } 
    else { 
     self.view.backgroundColor = UIColor.white 
     removeAds.textColor = UIColor.black 
     aboutText.textColor = UIColor.black 
     about.textColor = UIColor.black 
     backButton.setImage(UIImage(named: "back-40"), for: .normal) 
} 
} 

我通過上面的函數到IBAction爲交換機

+2

你可以用'delegate'在第一個viewController中從第二個viewController中改變東西 –

回答

0
UIView.appearance().backgroundColor = UIColor.blue 

您可以使用此功能,背景色設置爲所有viewcontrollers

要設置的UILabel文本全局顏色你可以這樣做

UILabel.appearance().textColor = UIColor.red 
0

你可以通過幾種方法做到這一點。

1.you can use Delegation. 
2.you can use Observer. 
3.you can use Unwind segue. 
4.you can also use callback method. 
0

有幾種方法可以做到這一點。

1 - 將指針指向您的第一個視圖控制器到第二個,當您調用它時,您可以指向該視圖控制器。

2 - 從第二視圖控制器使用委託和執行委託方法在第一

3 - 使用NSNotification在第二視圖控制器,並觀察在第一

4爲該通知名修改 - 如果你有這兩個控制器之間的轉換,您可以設置在過渡期間所需要的

有可能的,也有更多的方式來做到這一點,但我敢肯定的是,上面提到的方法之一,將有助於你

相關問題