如何在编辑 UITextField 时检测用户何时按下“返回”键盘按钮?我需要这样做以便在用户按下“返回”按钮时关闭键盘。
谢谢。
如何在编辑 UITextField 时检测用户何时按下“返回”键盘按钮?我需要这样做以便在用户按下“返回”按钮时关闭键盘。
谢谢。
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
不要忘记在故事板中设置委托...
委托不是必需的,这里有一个单行:
- (void)viewDidLoad {
[textField addTarget:textField
action:@selector(resignFirstResponder)
forControlEvents:UIControlEventEditingDidEndOnExit];
}
遗憾的是,您无法在 Storyboard 中直接执行此操作(您无法将操作连接到在 Storyboard 中发出它们的控件),但您可以通过中间操作来执行此操作。
斯威夫特 3.0
override open func viewDidLoad() {
super.viewDidLoad()
textField.addTarget(self, action: #selector(enterPressed), for: .editingDidEndOnExit)
}
在 enterPressed() 函数中放置你所追求的所有行为
func enterPressed(){
//do something with typed text if needed
textField.resignFirstResponder()
}
斯威夫特 5
textField.addTarget(textField, action: #selector(resignFirstResponder), for: .editingDidEndOnExit)
使用 UITextFieldDelegate 的 Swift 版本:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
resignFirstResponder()
return false
}
- (BOOL)textFieldShouldReturn:(UITextField *)txtField
{
[txtField resignFirstResponder];
return NO;
}
单击输入按钮时,将调用此委托方法。您可以从此委托方法中捕获返回按钮。