我在我的应用程序中有这个插座:
@IBOutlet var name1: UITextField! @IBOutlet var name2: UITextField! @IBOutlet var name3: UITextField! @IBOutlet var name4: UITextField! @IBOutlet var newButton: UIButton!
我试图做的是以下内容:
每当用户在这四个文本字段之一中键入内容或删除某些内容时,我想检查是否有任何文本字段为空
如果任何文本字段为空,则应禁用该按钮.
如果设置了所有文本字段(非空),则应启用该按钮.
我的代码:
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%.
当我在每个文本字段中键入一个字符时,该按钮仍处于禁用状态.
当我向任何文本字段添加第二个时,该按钮被启用等…
有人可以帮我这个吗?
问候和感谢!
或者,你可以使用它,每次按下一个键时都会调用它:
name1.addTarget(self,action: "textFieldDidChange:",forControlEvents: UIControlEvents.EditingChanged) name2.addTarget(self,forControlEvents: UIControlEvents.EditingChanged) name3.addTarget(self,forControlEvents: UIControlEvents.EditingChanged) name4.addTarget(self,forControlEvents: UIControlEvents.EditingChanged) func textFieldDidChange(textField: UITextField) { if name1.text == "" || name2.text == "" || name3.text == "" || name4.text == "" { //Disable button } else { //Enable button } }