上一篇我們講到如何用Slider去改變顏色
這篇會介紹如何使用輸入框
程式碼如下:
//控制紅色的輸入框
@IBAction func redtextfield(_ sender: UITextField) {
redslider.value = textFieldValueToSliderValue(num: sender.text!)
VIEW.backgroundColor = UIColor(red: CGFloat(redslider.value/255), green: CGFloat(greenslider.value/255), blue: CGFloat(blueslider.value/255),alpha: 1)
}
//控制綠色的輸入框
@IBAction func greentextfield(_ sender: UITextField) {
greenslider.value = textFieldValueToSliderValue(num: sender.text!)
VIEW.backgroundColor = UIColor(red: CGFloat(redslider.value/255), green: CGFloat(greenslider.value/255), blue: CGFloat(blueslider.value/255),alpha: 1)
}
//控制藍色的輸入框
@IBAction func bluetextfield(_ sender: UITextField) {
blueslider.value = textFieldValueToSliderValue(num: sender.text!)
VIEW.backgroundColor = UIColor(red: CGFloat(redslider.value/255), green: CGFloat(greenslider.value/255), blue: CGFloat(blueslider.value/255),alpha: 1)
}
由於輸入框讀的值是字串,所以我們藉由
greenslider.value = textFieldValueToSliderValue(num: sender.text!)
這段去把他的值讀出來
然後這邊會報錯,原因是因為我們還沒有建立function,
我們在下面建立一個function叫做"textFieldValueToSliderValue"
(注意不要建立錯位置,將function建立在viewDidLoad()裏,我們要建立在viewDidLoad()"外面")
var result: Float = 0
func textFieldValueToSliderValue(num: String) -> Float {
result = Float(num)!
return result
}
建立好之後我們再學習點擊空白處關閉鍵盤的方法
//按下空白處可以收起鍵盤
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
view.endEditing(true)
}
到這邊程式碼的部分就完成了~這邊會有@IBOutlet跟@IBAction的報錯,是因為我們還沒建立元件也還沒拉連結,下一篇會跟各位說怎麼拉連結~