Domanda

Per qualche ragione, nessuno dei miei UITextFields sarà autocapitalize. Ho impostato la struttura in InterfaceBuilder così come programmaticamente come illustrato di seguito.

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

Esiste un modo avrei potuto impostare alcuni flag che disabilita autocapitalization in tutto l'app senza rendersene conto?

Grazie

È stato utile?

Soluzione

Hai controllato le vostre impostazioni di iPhone -> Generale -> Tastiera -> Auto-capitalizzazione

Altri suggerimenti

ho scoperto che se si disattiva la correzione automatica quindi auto-capitalizzazione non funziona neanche. A me sembra che essi dovrebbero operare in modo indipendente. In un campo di nome uno vorrebbe capitalizzare ogni parola ma non sostituire automaticamente un nome con qualunque sia il dizionario prevede.

non ho potuto farlo funzionare, non importa le impostazioni. Così ho messo questo nella delegato del campo di testo:

- (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;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top