UITextField non si auto capitalizzare durante tutto il progetto
-
13-09-2019 - |
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
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;
}