Ios6 UITextField autocapitalizationType UITextAutoCapitalizationType设备上不工作的所有字符
您可以设置UITextField的autocapitalizationType属性,以便所有输入均为大写。我发现这在模拟器上可以很好地工作(实际上是敲击模拟器的键盘,而不是Mac的键盘),但在设备上却不行?一切都保持小写 在UICatalog演示中,我添加了textFieldNormal方法:Ios6 UITextField autocapitalizationType UITextAutoCapitalizationType设备上不工作的所有字符,ios6,uitextfield,xcode4.6.3,Ios6,Uitextfield,Xcode4.6.3,您可以设置UITextField的autocapitalizationType属性,以便所有输入均为大写。我发现这在模拟器上可以很好地工作(实际上是敲击模拟器的键盘,而不是Mac的键盘),但在设备上却不行?一切都保持小写 在UICatalog演示中,我添加了textFieldNormal方法: textFieldNormal.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters; 还添加了一个委托,以显示UITex
textFieldNormal.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
还添加了一个委托,以显示UITextField的实际autocapitalizationType:
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
NSLog( @"textField.autocapitalizationType=%d", textField.autocapitalizationType );
}
它将正确显示3(=UITextAutocapitalizationTypeAllCharacters),但您点击的任何内容都将保持小写。我遗漏了什么?显然这是一个设备常规设置问题:设置->常规->键盘->自动大写必须启用才能将textField.autocapitalizationType设置为全大写,否则设置属性显然会被忽略。如果我打开它,一切都会正常工作。您可以在textfield代理中尝试以下操作:
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (range.length == 0) { // not deleting , but adding a char
textField.text = [textField.text stringByAppendingString:[string uppercaseString]];
return NO;
}
return YES;
}
仅当尝试在文本末尾插入符号时,此操作才有效。
如果你想在中间玩文字,你可以玩
范围、位置
而且你还需要玩光标定位,因为它将在每次结束时
我希望这对某人有帮助