我正在弹出UIAlertView
,其中包含UITextField
。我希望文本字段自动大写所有单词。我这样做是通过设置文本字段的属性来实现的,但它们在运行时没有任何影响。这是我的代码:
UIAlertView* alert = [[UIAlertView alloc] initWithTitle: title
message: message
delegate: self
cancelButtonTitle: @"Cancel"
otherButtonTitles: @"Create", nil];
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
UITextField* titleField = [alert textFieldAtIndex: 0];
titleField.autocapitalizationType = UITextAutocapitalizationTypeWords;
[alert show];
此自动资本化正在UITextField
表单XIB
上运行,但这不适用于UIAlertView,我使用的是iOS 6。
答案 0 :(得分:4)
如果不改变您的要求,请使用
titleField.autocorrectionType = UITextAutocorrectionTypeDefault;
与
一起titleField.autocapitalizationType = UITextAutocapitalizationTypeWords;
为您提供所需的效果。
答案 1 :(得分:0)
确保"自动资本化"在iOS模拟器和/或测试设备的“设置”中启用。
设置>一般>键盘>自动大写强>
如果停用,则会忽略autocapitalizationType
文字字段中的UIAlertView
媒体资源。
答案 2 :(得分:-1)
您可以使用uitextfield委托
- (void)textFieldDidEndEditing:(UITextField *)textField{
NSLog(@"textFieldDidEndEditing");
textField.text=[textField.text uppercase];
}