2014-09-23 6 views
6

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.

+0

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

+0

Lässt du diesen Code auf einem Simulator laufen? –

Antwort

0

Es sieht aus wie Apple dieses Problem behoben. Ich bemerkte gerade neulich, dass die Funktionalität funktionierte

+0

_uialertview_ ist jetzt ** veraltet ** benutze _uialertcontroller_ – Hima

Verwandte Themen