0

当用户触摸空格和退格按钮时,我有一个UITextField并且我想执行一些操作。我怎样才能做到这一点?我知道我必须使用键盘通知。谁能告诉我如何获得哪个键所触及的值?

4

3 回答 3

2

您可以实现文本字段委托的方法textField:shouldChangeCharactersInRange:replacementString:

于 2012-10-11T08:44:24.430 回答
1

不一定,更好的解决方案是使用UITextFieldDelegateread the reference。它包含textField:shouldChangeCharactersInRange:replacementString:您可以使用的方法。

至于退格检测,这里有很多关于这个主题的问题。

于 2012-10-11T08:46:53.223 回答
1

这是一个示例代码:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

NSString *resultingString = [textField.text stringByReplacingCharactersInRange: range withString: string];
NSCharacterSet *whitespaceSet = [NSCharacterSet whitespaceCharacterSet];

if  ([resultingString rangeOfCharacterFromSet:whitespaceSet].location == NSNotFound)      {

 //Your Code Here

    return YES;

}  else  {

    return NO;
}}

编辑:

如果你想检查是否有空格(文本中的任何地方),你可以这样做:

NSRange range = [[textField text] rangeOfCharacterFromSet:whitespace];
if (range.location != NSNotFound) {
// There is whitespace.
}
于 2012-10-11T08:49:00.390 回答