12

何らかの理由で、私の 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];

とにかく、気付かずにアプリ全体で自動大文字化を無効にするフラグを設定できたのでしょうか?

ありがとう

4

3 に答える 3

3

自動修正をオフにすると、自動大文字化も機能しないことがわかりました。私には、それらは独立して動作する必要があるように思えます。名前フィールドでは、すべての単語を大文字にしたいが、名前を自動的に辞書が予測するものに置き換えたくはありません。

于 2011-05-02T02:05:25.950 に答える
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;
}
于 2013-07-27T21:44:59.753 に答える