2015-09-24 21 views
5

Dodałem kod UIAlertController pokazujący pola tekstowe logowania i hasła, działa on na iOS 8, ale w systemie iOS 9 nie działa. Na Pola tekstowe kurczy, jak pokazano na rysunku poniżej enter image description hereUIAlertController nie działa w systemie iOS 9

Kod Staram się następująco:

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

również próbował pokazać na rootviewcontroller ale bez powodzenia, sam kod działa na iOS 8. Projekt jest stary i wsparcie dla iOS 5. Każda pomoc zostanie doceniona. Dzięki.

+0

więc Pola tekstowe powinny być w układzie pionowym lub poziomym układzie? –

+1

Po prostu wypróbowałem twój kod. To działa dobrze. gdzie wywołujesz tę metodę toggleLoginLdap? –

+0

Układ poziomy (jeden drugi poniżej), i działa również dla mnie w nowym projekcie demonstracyjnym, ale nie działa w moim starym projekcie (który jest tworzony w poprzedniej wersji xcode). –

Odpowiedz

1

dodać [self.alertController.view layoutIfNeeded] po przedstawieniu alertController miałem ten sam problem i to działało

+1

Nie działa dla mnie. –

0

Wiem, że to pytanie jest stary, ale byłem badany przez więcej niż jeden dzień.

Natknąłem się na wątek w Pixith freestyle github. Mój problem polegał na tym, że używaliśmy Pixate Freestyle pod

Jeśli weźmiesz swój kod i umieścisz go w czystym projekcie Xcode, będzie wyglądać dobrze. Wspomniano tam o obejściu; ale jest szybki. Postaram się go znaleźć i opublikować link, kiedy to zrobię.

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

Powiązane problemy