如何檢查UITextField何時更改?我試圖檢查文本字段何時更改,相當于textView使用的函數 - textViewDidChange到目前為止我已經這樣做了: func textFieldDidBeginEditing(textField: UITextField) {
if self.status.text == "" && self.username.text == "" {
self.topRightButton.enabled = false
} else {
self.topRightButton.enabled = true
}
}哪種工作,但topRightButton只要按下文本字段就啟用,我希望只有在實際輸入文本時才能啟用它?
3 回答

鳳凰求蠱
TA貢獻1825條經驗 獲得超4個贊
迅速
Swift 4.2
textfield.addTarget(self, action: #selector(ViewControllerr.textFieldDidChange(_:)), for: UIControl.Event.editingChanged)
和
@objc func textFieldDidChange(_ textField: UITextField) {}
SWIFT 3&swift 4.1
textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
和
func textFieldDidChange(_ textField: UITextField) {}
SWIFT 2.2
textField.addTarget(self, action: #selector(YourViewController.textFieldDidChange(_:)), forControlEvents: UIControlEvents.EditingChanged)
和
func textFieldDidChange(textField: UITextField) { //your code}
Objective-C的
[textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
和textFieldDidChange方法是
-(void)textFieldDidChange :(UITextField *) textField{ //your code}

躍然一笑
TA貢獻1826條經驗 獲得超6個贊
您可以在界面構建器中建立此連接。
在故事板中,單擊屏幕頂部的助理編輯器(中間的兩個圓圈)。
Ctrl +單擊界面構建器中的文本字段。
從EditingChanged拖動到助手視圖中的視圖控制器類內部。
為您的函數命名(例如“textDidChange”),然后單擊“連接”。

搖曳的薔薇
TA貢獻1793條經驗 獲得超6個贊
Swift 3.0
textField.addTarget(self, action: #selector(textFieldDidChange(textField:)), for: .editingChanged)
和處理方法:
func textFieldDidChange(textField: UITextField) { }
Swift 4.0
textField.addTarget(self, action: #selector(ViewController.textFieldDidChange(_:)), for: UIControlEvents.editingChanged)
和處理方法:
@objc func textFieldDidChange(_ textField: UITextField) {}
Swift 5.0
textField.addTarget(self, action: #selector(ViewController.textFieldDidChange(_:)), for: UIControl.Event.editingChanged)
和處理方法:
@objc func textFieldDidChange(_ textField: UITextField) {}
- 3 回答
- 0 關注
- 566 瀏覽
添加回答
舉報
0/150
提交
取消