当用户键入空格时,我试图将 UIKeyboardType 更改为字母键盘,以反映键入撇号的效果。但是,我的代码不会改变键盘的外观,直到用户关闭键盘然后再将它带回来。
编辑:为了澄清,键盘类型以 UIKeyboardTypeNumbersAndPunctuation 开头,我想更改为 ASCIICapable,因为典型的用户输入是“#cups 面粉”的形式。我意识到 ASCIICapable 键盘内置了此功能,因此展示支持 ASCII 的键盘但首先显示数字/标点符号会起作用。
这是我的代码:
- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if ([string isEqualToString:@" "]) {
textField.keyboardType = UIKeyboardTypeASCIICapable;
}
return YES;
}