web-dev-qa-db-fra.com

iPhone: problème de désactivation de l'auto-cap / correction automatique sur un UITextField

Pour une raison quelconque, même si je désactive le plafonnement automatique et la correction automatique de mon UITextField, il capitalise toujours la première lettre de mon entrée.

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 capture d'écran: texte alternatif http://grab.by/39WE

52
phil swenson

Vous définissez autocorrectionType sur FALSE comme s'il s'agissait d'un BOOL, mais il a en fait le type UITextAutocorrectionType. Ainsi, 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 mise en majuscule.

65
Tom

Objectif - C

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

}

rapide

func textFieldDidBeginEditing(textfield : UITextField)
{
    textField.autocorrectionType = .No
    textField.autocapitalizationType = .None
    textField.spellCheckingType = .No
}

Swift

  func textFieldDidBeginEditing(_ textField : UITextField)
{
    textField.autocorrectionType = .no
    textField.autocapitalizationType = .none
    textField.spellCheckingType = .no
}
37
Anbu.Karthik
yourTextFieldName.autocorrectionType = UITextAutocorrectionTypeNo;
yourTextFieldName.autocapitalizationType = UITextAutocapitalizationTypeNone;
7
Subham93

Swift 2:

textField.autocorrectionType = .No
textField.autocapitalizationType = .None
2
Maxamilian Demian