Pour une raison quelconque, aucun de mes fichiers UitextTex ne sera autocapitalisant. J'ai défini la propriété dans InterfaceBuilder ainsi que de manière programmatique, comme indiqué ci-dessous.
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 Réponses :
Avez-vous vérifié les paramètres de votre iPhone -> Général -> Clavier -> Capitalisation automatique? P>
Une autre chose à regarder est que, dans Simulator, les paramètres de capitalisation automobile n'affectent que le clavier Simulator. Donc, cela ne fonctionnera pas si vous tapez avec le vrai clavier. :)
J'ai trouvé que si vous désactivez l'autocorrection, la capitalisation automatique ne fonctionne pas non plus. Me semble qu'ils devraient fonctionner de manière indépendante. Dans un nom de nom, on voudrait capitaliser chaque mot mais ne remplacerait pas automatiquement un nom avec le dictionnaire prédit. p>
Je ne pouvais pas le faire fonctionner, peu importe les paramètres. Donc, je viens de mettre cela dans le délégué de la Textefield:
- (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; }