53 votes

iPhone: problème lors de la désactivation de la correction automatique / correction automatique sur un UITextField

Pour une raison quelconque, même si je désactive la limitation et la correction automatiques de mon UITextField, la première lettre de mon entrée est toujours en majuscule.

Voici le code:

 UITextField* textField = [[[UITextField alloc] initWithFrame:CGRectMake(90.0, 10.0, 213.0, 25.0)] autorelease];
[textField setClearButtonMode:UITextFieldViewModeWhileEditing];
textField.returnKeyType = UIReturnKeyGo;
textField.autocorrectionType = FALSE;
textField.autocapitalizationType = UITextAutocapitalizationTypeNone;
textField.delegate = self;
if (inputFieldType == Email) {
    label.text = @"Email:";
    textField.keyboardType = UIKeyboardTypeEmailAddress;
    emailTextField  = textField;
    textField.placeholder = @"Email Address";
} else { // password
    textField.secureTextEntry = TRUE;
    label.text = @"Password:";
    if (inputFieldType == Password){
        textField.placeholder = @"Password";
        passwordTextField  = textField;
    }
    if (inputFieldType == ConfirmPassword){
        textField.placeholder = @"Confirm Password";
        confirmPasswordTextField  = textField;
    }

}
 

Voir la capture d'écran: texte alternatif

67voto

Tom Points 2788

Vous définissez autocorrectionType FALSE comme s'il s'agissait d'un BOOL , mais il s'agit en fait du type UITextAutocorrectionType . Donc, FALSE est interprété comme UITextAutocorrectionTypeDefault , ce qui signifie que la correction automatique est probablement activée.

Je parie qu’il a trouvé le nom "Phil" dans votre carnet d’adresses et corrige automatiquement la capitalisation.

38voto

Anbu.Karthik Points 2805
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
textField.autocorrectionType = FALSE; // or use  UITextAutocorrectionTypeNo
textField.autocapitalizationType = UITextAutocapitalizationTypeNone;

}

7voto

Subham93 Points 60
yourTextFieldName.autocorrectionType = UITextAutocorrectionTypeNo;
yourTextFieldName.autocapitalizationType = UITextAutocapitalizationTypeNone;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X