Это работало нормально в iOS7. После обновления до iOS8 это странно не работает.ios8 UIAlertView getFirstResponder для пароля UITextField не работает
Итак, если пользователь уже зарегистрировался ранее, имя пользователя сохраняется и требуется пароль. Весьма просто, я просто вводил имя пользователя в 0 индекс UITextField
и устанавливал курсор на 1 индекс UITextField
UIAlertView
.
Прежде, чем мне просто нужно было установить becomeFirstResponder
на индекс № 1 UITextField
в UIAlertView
. Странно то, что я могу на самом деле установить текст в индекс номер 1 UITextField
. Поэтому я знаю, что правильно добираюсь до UITextField
.
Довольно простой код.
Вот мой код ...
- (IBAction)actionTesting:(id)sender {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Login" message:@"" delegate:self cancelButtonTitle:@"Login" otherButtonTitles: nil];
alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;
alert.tag = 999;
UITextField *txtUserName = [alert textFieldAtIndex:0];
UITextField *txtPassword = [alert textFieldAtIndex:1];
txtUserName.text = @"";
txtPassword.text = @"";
[alert textFieldAtIndex:1].delegate = self;
[alert show];
}
-(void)didPresentAlertView:(UIAlertView *)alertView{
UITextField *txtUserName = [alertView textFieldAtIndex:0];
UITextField *txtPassword = [alertView textFieldAtIndex:1];
txtUserName.text = @"username";
txtPassword.text = @"password";
[txtPassword becomeFirstResponder];
}
Похоже, у нас есть новый UIAlertController
доступны. Я просто надеялся получить эту работу, поэтому мне не нужно было вносить какие-либо изменения в исходный код.
Возможный дубликат [текстовое поле UIAlertView не показывает клавиатуру в iOS8] (http://stackoverflow.com/questions/25563108/uialertviews-textfield-does-not-show- keyboard-in-ios8) – progrmr
Вы используете этот код на симуляторе? –