2009-07-14 60 views
12

出於某種原因,我的UITextFields都不會自動註冊。我已經在InterfaceBuilder中設置了屬性,並以編程方式如下所示。UITextField在整個項目中不會自動大寫

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]; 

是否有無論如何我可以設置一些標誌,禁用整個應用程序的自動化資產化沒有意識到它?

感謝

回答

25

你檢查你的iPhone的設置 - >通用 - >鍵盤 - >自動大寫?

+1

上帝,我覺得自己像個業餘愛好者。謝謝你,先生。 – 2009-07-14 02:03:29

3

我發現如果關閉自動更正,那麼自動大寫也不起作用。在我看來,他們應該獨立運作。在名稱字段中,人們希望大寫每個單詞,但不能用字典預測的任何名稱自動替換名稱。

0

無論設置如何,我都無法使它工作。所以我只是把這個放在textfield的代表中:

- (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; 
} 
相關問題