首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据文本输入更改UIKeyboardType

根据文本输入更改UIKeyboardType
EN

Stack Overflow用户
提问于 2012-06-19 10:09:51
回答 1查看 1.6K关注 0票数 8

当用户键入空格时,我尝试将UIKeyboardType更改为字母键盘,这与键入撇号的效果相同。但是,我的代码不会更改键盘外观,直到用户取消键盘,然后再将其带回来。

编辑:为了清楚起见,键盘类型以UIKeyboardTypeNumbersAndPunctuation开头,我希望更改为ASCIICapable,因为典型的用户输入是"# cups flour“的形式。我意识到ASCIICapable键盘内置了这个功能,所以提供支持ASCII码的键盘,但首先显示数字/标点符号是可行的。

下面是我的代码:

代码语言:javascript
复制
- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{

    if ([string isEqualToString:@" "]) {
        textField.keyboardType = UIKeyboardTypeASCIICapable;
    }

return YES;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-19 10:26:14

关闭键盘,然后再次成为第一响应者。在我的代码中,我为textfield *tf创建了一个IBOutlet。啊,真灵。

代码语言:javascript
复制
- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{

    if ([string isEqualToString:@" "]) {
        self.tf.keyboardType = UIKeyboardTypeNumberPad;
        [textField resignFirstResponder];
        [self.tf becomeFirstResponder];
    }

    return YES;
}
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11093504

复制
相关文章

相似问题

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