当用户按下除了'输入'之外的键时的呼叫操作。或者'返回'

时间:2015-10-01 17:23:14

标签: ios swift uitextfield

我知道当用户按下'返回'时,调用函数非常简单。键盘上的键,但我想知道是否可以使用任何其他键进行类似的操作。在我的具体情况下,我想知道用户何时按下“逗号”。我正在尝试实现类似于Mac上的Mail在地址栏中执行操作的功能,如果您键入逗号,则文本将更改为其他视图。

这就是我所引用的内容: enter image description here enter image description here

1 个答案:

答案 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建议的那样,如果用户粘贴逗号字符或任何包含逗号的文本,那么此方法也会触发对你自己的方法的调用。