iPhone: проблема с отключением авто-Cap / автозамены на UITextField - PullRequest
51 голосов
/ 19 марта 2010

По какой-то причине, даже если я отключил автозаполнение и автокоррекцию своего 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;
    }

}

Смотрите скриншот: альтернативный текст http://grab.by/39WE

Ответы [ 4 ]

65 голосов
/ 19 марта 2010

Вы устанавливаете autocorrectionType на FALSE, как если бы это было BOOL, но на самом деле он имеет тип UITextAutocorrectionType. Таким образом, FALSE интерпретируется как UITextAutocorrectionTypeDefault, что означает, что автокоррекция, вероятно, включена.

Могу поспорить, он нашел имя "Фил" в вашей адресной книге и автоматически корректирует заглавные буквы.

35 голосов
/ 15 марта 2014

Объективно - C

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

}

Swift

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

Swift3

  func textFieldDidBeginEditing(_ textField : UITextField)
{
    textField.autocorrectionType = .no
    textField.autocapitalizationType = .none
    textField.spellCheckingType = .no
}
7 голосов
/ 23 сентября 2014
yourTextFieldName.autocorrectionType = UITextAutocorrectionTypeNo;
yourTextFieldName.autocapitalizationType = UITextAutocapitalizationTypeNone;
2 голосов
/ 16 декабря 2015

Swift 2:

textField.autocorrectionType = .No
textField.autocapitalizationType = .None
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...