2017-02-23 119 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 
}