2017-02-23 150 views
0

我剛剛開始使用Swift,並且想知道是否有任何方法使用紅色等文本輸入,然後使背景具有相同的顏色。Swift - 通過輸入更改BG顏色

@IBOutlet weak var myText: UITextField! 
@IBAction func myText(_ sender: Any) { 
    var responseText: String = myText.text! 
    self.view.backgroundColor = UIColor.responseText 
} 

我試過了,但它沒有任何工作。

回答

2

UIColor沒有字符串初始值設定項。然而,你可以寫一個UIColor類的擴展並添加你自己的初始化器。但是,更簡單的方法可能僅僅是響應文字上的開關聲明:

@IBOutlet weak var myText: UITextField! 
@IBAction func myText(_ sender: Any) { 
    var responseText: String = myText.text! 
    var bgColor : UIColor 
    switch responseText { 
    case "Red": 
     bgColor = UIColor.red 
    // ... etc for every color you want 
    } 
    self.view.backgroundColor = bgColor 
}