我有一个UITextField
,我想在用户触摸空格和退格按钮时执行一些操作。我怎样才能做到这一点?我知道我必须使用键盘通知。任何人都可以告诉我如何获得哪个键所触及的值?
答案 0 :(得分:2)
您可以实现textfield delegate的方法textField:shouldChangeCharactersInRange:replacementString:
答案 1 :(得分:1)
不一定,更好的解决方案是使用UITextFieldDelegate
阅读reference。它包含您可以使用的方法textField:shouldChangeCharactersInRange:replacementString:
。
关于退格检测,这里有很多关于SO的问题。
答案 2 :(得分: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.
}