2015-09-24 20 views
5

Ich habe den UIAlertController-Code mit Login und Passwort Textfelder hinzugefügt, es funktioniert für iOS 8, aber in iOS 9 funktioniert nicht. Die Textfelder schrumpft wie in Abbildung unten enter image description hereUIAlertController funktioniert nicht in iOS 9

Der Code I ist wie folgt versuche gezeigt:

- (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]; 
} 

auch anprobiert RootViewController zeigen aber kein Glück, gleiche Code funktioniert auf ios 8. Projekt ist alt und Unterstützung von iOS 5. Jede Hilfe wird geschätzt. Vielen Dank.

+0

so dass die Textfelder in vertikalem Layout oder horizontales Layout enthalten sein sollten? –

+1

Ich habe gerade Ihren Code ausprobiert. Es funktioniert gut. Wo rufst du diese Methode toggleLoginLdap? –

+0

Horizontales Layout (untereinander unten), und es funktioniert auch für mich in einem neuen Demo-Projekt, aber es funktioniert nicht in meinem alten Projekt (das in der vorherigen Version von xcode erstellt wurde). –

Antwort

1

hinzufügen [self.alertController.view layoutIfNeeded] nach Vorlage alertController ich hatte das gleiche Problem und es funktionierte

+1

Funktioniert nicht für mich. –

0

Ich weiß, diese Frage ist alt, aber ich habe dies erforscht einen Tag länger als.

Ich bin im Pixate Freestyle Github auf einen Thread gestoßen. Mein Problem war, dass wir Pixate Freestyle Pod

verwenden Wenn Sie Ihren Code nehmen und es in einem sauberen Xcode-Projekt, wird es gut aussehen. Dort wurde ein Workaround erwähnt; aber es ist schnell. Ich werde versuchen, es zu finden und einen Link zu posten, wenn ich es tue.

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

Verwandte Themen