我知道当用户按下'返回'时,调用函数非常简单。键盘上的键,但我想知道是否可以使用任何其他键进行类似的操作。在我的具体情况下,我想知道用户何时按下“逗号”。我正在尝试实现类似于Mac上的Mail在地址栏中执行操作的功能,如果您键入逗号,则文本将更改为其他视图。
答案 0 :(得分:0)
您可以尝试以下方法:
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if ([string isEqualToString:@","]||[string containsString:@","]) {
NSLog(@"trigger method"); //call your method
}
return YES;
}
对于Swift:
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if string.isEqualToString(",") || string.containsString(",") {
NSLog("trigger method")
}
return true
}
注意:别忘了设置文本字段委托,并在界面上提及 UITextFieldDelegate 。
self.textField.delegate=self;
所以每次按下逗号,你都可以调用你的方法。正如@rmaddy建议的那样,如果用户粘贴逗号字符或任何包含逗号的文本,那么此方法也会触发对你自己的方法的调用。