当用户键入空格时,我尝试将UIKeyboardType更改为字母键盘,这与键入撇号的效果相同。但是,我的代码不会更改键盘外观,直到用户取消键盘,然后再将其带回来。
编辑:为了清楚起见,键盘类型以UIKeyboardTypeNumbersAndPunctuation开头,我希望更改为ASCIICapable,因为典型的用户输入是"# cups flour“的形式。我意识到ASCIICapable键盘内置了这个功能,所以提供支持ASCII码的键盘,但首先显示数字/标点符号是可行的。
下面是我的代码:
- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if ([string isEqualToString:@" "]) {
textField.keyboardType = UIKeyboardTypeASCIICapable;
}
return YES;
}发布于 2012-06-19 10:26:14
关闭键盘,然后再次成为第一响应者。在我的代码中,我为textfield *tf创建了一个IBOutlet。啊,真灵。
- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if ([string isEqualToString:@" "]) {
self.tf.keyboardType = UIKeyboardTypeNumberPad;
[textField resignFirstResponder];
[self.tf becomeFirstResponder];
}
return YES;
}https://stackoverflow.com/questions/11093504
复制相似问题