【发布时间】:2015-10-08 07:37:47
【问题描述】:
我的应用中有这些插座:
@IBOutlet var name1: UITextField!
@IBOutlet var name2: UITextField!
@IBOutlet var name3: UITextField!
@IBOutlet var name4: UITextField!
@IBOutlet var newButton: UIButton!
我尝试做的是:
每次用户在这四个UITextFields 之一中键入内容或删除某些内容时,我想检查是否有任何UITextField 为空
如果任何UITextField 为空,则应禁用该按钮。
如果设置了所有UITextFields(非空),则应启用该按钮。
我的代码:
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
setButton()
return true
}
func setButton() {
let inputValid = checkInput()
if inputValid {
newButton.enabled = true
} else {
newButton.enabled = false
}
}
func checkInput() -> Bool {
let name1Value = name1.text
let name2Value = name2.text
let name3Value = name3.text
let name4Value = name4.text
if !name1Value.isEmpty && !name2Value.isEmpty && !name3Value.isEmpty && !name4Value.isEmpty {
return true
}
return false
}
好的,现在可以工作 50%。
当我在每个UITextField 中键入一个字符时,该按钮仍处于禁用状态。
当我将第二个添加到任何UITextField 时,按钮将被启用等等...
谁能帮我解决这个问题?
【问题讨论】:
标签: swift validation uitextfield