web-dev-qa-db-ja.com

iPhone:UITextFieldでAuto-Cap / autocorrectを無効にする問題

何らかの理由で、UITextFieldの自動キャップと自動修正を無効にしても、入力の最初の文字は大文字のままです。

コードは次のとおりです。

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

}

スクリーンショットを参照してください: alt text http://grab.by/39WE

52
phil swenson

autocorrectionTypeであるかのようにFALSEBOOLに設定していますが、実際にはUITextAutocorrectionType型です。したがって、FALSEUITextAutocorrectionTypeDefaultとして解釈されます。これは、おそらく自動修正が有効になっていることを意味します。

アドレス帳に「Phil」という名前が見つかり、大文字と小文字が一致するように自動修正しているに違いありません。

65
Tom

目的-C

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

}

スイフト

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

スイフト2:

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