我有一个UITextField,我想在用户触摸空格键和退格键时执行一些操作。我该怎么做呢?我知道我必须使用键盘通知。有没有人能告诉我如何获取哪个键触摸过的值?
发布于 2012-10-11 16:44:24
您可以实现文本字段委托的方法textField:shouldChangeCharactersInRange:replacementString:
发布于 2012-10-11 16:46:53
不一定,更好的解决方案是使用UITextFieldDelegate读取reference。它包含您可以使用的方法textField:shouldChangeCharactersInRange:replacementString:。
至于退格检测,这里有很多问题,所以涵盖了这个主题。
发布于 2012-10-11 16:49:00
下面是一个示例代码:
- (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.
}https://stackoverflow.com/questions/12835503
复制相似问题