Landscape unter iOS 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Landscape unter iOS 8

    Neues iOS neues Problem (wie jedes Jahr)

    Ich hab eine Universal App die auf dem iPhone im Portrait Mode und auf dem iPad im Landscape Mode startet. Seit iOS8 will das auf dem iPad nicht mehr funktionieren. Es startet zwar im Landscape Mode aber stellt die View nur abgeschnitten dar :(

    Das hatte unter iOS7 bis iOS5 gereicht:

    Quellcode

    1. ​- (NSUInteger)supportedInterfaceOrientations{
    2. NSString *str;
    3. if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    4. str = @"Running as an iPad application";
    5. return UIInterfaceOrientationMaskLandscape;
    6. } else {
    7. str = @"Running as an iPhone/iPod touch application";
    8. return UIInterfaceOrientationMaskPortrait;
    9. }
    10. }
    Alles anzeigen


    Unter "General" - "Deployment Info" habe ich auch die Device Orientation richtig eingetragen. Weiss jemand was geändert wurde?
  • Da ist alles soweit in Ordnung. Das Problem ist wie auf dem Bild oben. Das Interface ist richtig im Landscape Mode gestartet nur die Device Orientation ist falsch. Ich hatte noch vergessen was zu posten. Das musste ich seit iOS8 rausnehmen da die App dadurch abstürzt (nur auf dem iPad):

    Quellcode

    1. UIViewController* dummyController = [[UIViewController alloc] init];
    2. [self.navigationController presentViewController:dummyController animated:NO completion:^{
    3. [dummyController dismissViewControllerAnimated:NO completion:nil];
    4. }];
  • Was wolltest Du mit dem o.a. Code überhaupt erreichen? Einen ViewController anzeigen, welcher direkt nach der Anzeige wieder entfernt wird? Welchen Sinn soll dies haben?

    Erstellst Du das UI komplett im Code, also in loadView oder viewDidLoad?

    Hast Du anstelle von supportedInterfaceOrientations schon mal die ApplicationDelegate Methode application:supportedInterfaceOrientationsForWindow: ausprobiert? Mit supportedInterfaceOrientations habe ich seit iOS 6 keinen Erfolg mehr, aber application:supportedInterfaceOrientationsForWindow: funktioniert dagegen sehr gut.
  • Damit konnte man ab iOS6 bis iOS7 den Landscape Mode erzwingen. Das Problem hatte ich damals schon und konnte es mit diesem kleinen Trick lösen. War zwar nicht sehr sauber aber hatte funktioniert :)

    Jap, die UI wird im viewDidLoad erstellt.

    Danke hat geklappt mit der App Delegate funktion :)