UITextField不会在整个项目中自动大写

时间:2009-07-14 01:32:18

标签: iphone objective-c sdk uitextfield

出于某种原因,我的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];

无论如何我可以设置一些标志,在整个应用程序中禁用自动资本化而没有意识到它?

由于

3 个答案:

答案 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;
}