【发布时间】:2014-09-23 00:43:24
【问题描述】:
使用UITextFieldDelegate,我将根据 3 UITextFields 是否包含信息来禁用我的UIButton“btnSignup”。目前,它可以正常工作,但要使UIButton 响应式(再次运行if 语句),我必须单击关闭UITextField。当我输入一些东西然后我回去删除它时也是如此。 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 正在被编辑,该函数应该会监听和响应。
【问题讨论】:
标签: ios swift uibutton uitextfielddelegate