出于某种原因,我的UITextFields都不会自动投入资金。我已经在InterfaceBuilder中设置了属性以及编程,如下所示。
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"search_cell"];
UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(12, 10, 320, 32)];
tf.autocapitalizationType = UITextAutocapitalizationTypeWords;
tf.returnKeyType = UIReturnKeySearch;
tf.font = [UIFont boldSystemFontOfSize:20.0];
tf.delegate = self;
[cell addSubview:tf];
[tf becomeFirstResponder];
无论如何我可以设置一些标志,在整个应用程序中禁用自动资本化而没有意识到它?
由于
答案 0 :(得分:26)
您是否检查了iPhone的设置 - >一般 - >键盘 - >自动大写?
答案 1 :(得分:3)
我发现如果你关闭自动更正,那么自动大写也不起作用。在我看来,他们应该独立运作。在名称字段中,人们希望将每个单词大写,但不能用字典预测的任何内容自动替换名称。
答案 2 :(得分:0)
无论设置如何,我都无法工作。所以我把它放在文本区的代表中:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
// Handle the backspace.
if ([string isEqualToString:@""]) return YES;
// Otherwise convert to uppercase and change the textfield manually.
textField.text = [[textField.text stringByAppendingString:string] uppercaseString];
return NO;
}