首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取用户在键盘上点击的字符?

如何获取用户在键盘上点击的字符?
EN

Stack Overflow用户
提问于 2012-10-11 16:40:28
回答 3查看 83关注 0票数 0

我有一个UITextField,我想在用户触摸空格键和退格键时执行一些操作。我该怎么做呢?我知道我必须使用键盘通知。有没有人能告诉我如何获取哪个键触摸过的值?

EN

回答 3

Stack Overflow用户

发布于 2012-10-11 16:44:24

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

票数 2
EN

Stack Overflow用户

发布于 2012-10-11 16:46:53

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

至于退格检测,这里有很多问题,所以涵盖了这个主题。

票数 1
EN

Stack Overflow用户

发布于 2012-10-11 16:49:00

下面是一个示例代码:

代码语言:javascript
复制
- (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;
}}

编辑:

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

代码语言:javascript
复制
NSRange range = [[textField text] rangeOfCharacterFromSet:whitespace];
if (range.location != NSNotFound) {
// There is whitespace.
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12835503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档