2015-09-24 32 views
5

Ho aggiunto il codice UIAlertController che mostra campi di testo di login e password, funziona per iOS 8 ma in iOS 9 non funziona. I campi di testo si restringe come mostrato nella figura seguente enter image description hereUIAlertController non funziona su iOS 9

Il codice che sto cercando è la seguente:

- (void)toggleLoginLdap:(UIViewController *)currentVC 
{ 

if ([UIAlertController class]) 
     { 


      self.alertController= [UIAlertController 
             alertControllerWithTitle:@"Title of Msg" 
             message:@"Hello" 
             preferredStyle:UIAlertControllerStyleAlert]; 

      UIAlertAction* ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault 
                 handler:^(UIAlertAction * action){ 
                  NSString *userName = self.alertController.textFields[0].text; 
                  NSString *password = self.alertController.textFields[1].text; 



                 }]; 
      UIAlertAction* cancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel 
                  handler:^(UIAlertAction * action) { 


                   [self.alertController dismissViewControllerAnimated:YES completion:nil]; 

                  }]; 


      [self.alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) { 
       textField.placeholder = @"Username/Email"; 
       //textField.preservesSuperviewLayoutMargins = YES; 
       textField.autoresizesSubviews = YES; 
      }]; 
      [self.alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) { 
       textField.placeholder = @"Password"; 
       textField.secureTextEntry = YES; 
      }]; 
      //alertController.view.autoresizesSubviews = YES; 
      [self.alertController addAction:ok]; 
      [self.alertController addAction:cancel]; 
      [currentVC presentViewController:self.alertController animated:YES completion:nil]; 
} 

anche cercato di mostrare il RootViewController ma senza fortuna, stesso codice funziona su iOS 8. Progetto è vecchio e avendo supporto da iOS 5. Qualsiasi aiuto sarà apprezzato. Grazie.

+0

così le textfields dovrebbe essere in disposizione verticale o orizzontale layout? –

+1

Ho appena provato il tuo codice. Funziona bene. dove stai chiamando questo metodo toggleLoginLdap? –

+0

Layout orizzontale (l'altro sotto), e funziona anche per me in un nuovo progetto demo ma non funziona nel mio vecchio progetto (che è stato creato nella versione precedente di xcode). –

risposta

1

aggiungere [self.alertController.view layoutIfNeeded] dopo aver presentato alertController Ho avuto lo stesso problema e ha funzionato

+1

Non funziona per me. –

0

So che questa domanda è vecchia ma ho la ricerca di questo per più di un giorno.

Mi sono imbattuto in un thread nel github freestyle Pixate. Il mio problema era che stavamo usando il pod Pixate Freestyle

Se prendi il tuo codice e lo metti in un progetto Xcode pulito, sarà perfetto. C'era una soluzione qui menzionata; ma è veloce. Proverò a trovarlo e pubblicare un link quando lo faccio.

EDIT: https://github.com/Pixate/pixate-freestyle-ios/issues/178

Problemi correlati