当用户按下 'enter' 或 'return' 以外的键时调用操作

Call action when user presses key other than 'enter' or 'return'

我知道当用户按下键盘上的 'return' 键时调用函数非常简单,但我想知道是否可以使用任何其他键进行类似的操作。就我而言,我想知道用户何时按下 'comma'。我正在尝试实现类似于 mac 上的 Mail 在地址栏中所做的功能,如果您在其中键入逗号,文本将变为不同的视图。

这就是我所引用的:

你可以试试这个方法:

 -(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;

所以每次你按逗号,你都可以调用你的 method.As @rmaddy 建议,如果用户粘贴了逗号字符或任何包含逗号的文本,那么这个方法也会触发对你自己的调用方法。