對於UITextFieldDelegate
,我將根據3 UITextFields
是否包含信息來禁用我的UIButton
「btnSignup」。目前,它適用於減去UIButton
被動(再次運行if
聲明)的事實,我必須點擊UITextField
。當我輸入某些內容並且回去刪除它時也是如此。直到我點擊UITextField
的關UIButton
保持有效(如果我點擊提交沒有點擊其他地方,我能夠提交,這不應該是這樣。)禁用帶有textFieldDidBeginEditing的UIButton需要單擊UITextField才能生效
class MainVC: UIViewController, UITextFieldDelegate {
@IBOutlet var receiveName: UITextField!
@IBOutlet var receiveEmail: UITextField!
@IBOutlet var receivePhone: UITextField!
@IBOutlet var btnSignup: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
self.btnSignup.enabled = false
self.btnSignup.alpha = 0.3
self.receiveName.delegate = self
self.receiveEmail.delegate = self
self.receivePhone.delegate = self
func textFieldDidBeginEditing(textField: UITextField) {
if countElements(receiveName.text) > 0 && countElements(receiveEmail.text) > 0 && countElements(receivePhone.text) > 0 {
self.btnSignup.enabled = true
self.btnSignup.alpha = 1
} else {
self.btnSignup.enabled = false
self.btnSignup.alpha = 0.3
}
}
}
我要尋找一個解決方案,讓更實時的效果。如果在編輯UITextField的任何時候,該函數應該在監聽並響應。
我複製並粘貼了你在這裏完成的工作,但實際上它根本沒有激活btnSignup。它從未重新激活。在回答時你能留下什麼嗎? – davidrayowens 2014-09-23 03:00:17
您是否連接了IBOutlets?您是否將標籤添加到屬性檢查器中的文本字段? – 2014-09-23 03:02:28
是的,他們已經從頭開始連接 – davidrayowens 2014-09-23 03:07:47