Dies funktionierte OK in iOS7. Nach dem Upgrade auf iOS8 funktioniert es seltsamerweise nicht.ios8 UIAlertView findFirstResponder für Passwort UITextField funktioniert nicht
Wenn der Benutzer sich also schon einmal angemeldet hat, wird der Benutzername gespeichert und ein Passwort benötigt. Ganz einfach, ich habe gerade den Benutzernamen in den 0 Index UITextField
eingegeben und setzte den Cursor auf den Index UITextField
von UIAlertView
.
Bevor ich nur die becomeFirstResponder
auf die Nummer 1 Index UITextField
in der UIAlertView
setzen musste. Das Seltsame ist, dass ich tatsächlich Text in die Nummer 1 Index UITextField
setzen kann. Ich weiß also, dass ich immer noch auf die UITextField
richtig zugreife.
Ziemlich einfachen Code.
Hier ist mein Code ...
- (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];
}
Es sieht aus wie wir ein neues UIAlertController
zur Verfügung haben. Ich hatte nur gehofft, dass das funktioniert, also musste ich vorerst keine Änderungen an meinem ursprünglichen Code vornehmen.
mögliche Duplikate von [UIAlertView's Textfeld zeigt keine Tastatur in iOS8] (http://StackOverflow.com/questions/25563108/uialertviews-textfield-does-not-show- keyboard-in-ios8) – progrmr
Lässt du diesen Code auf einem Simulator laufen? –