-applicationDidBecomeActive: unterschiedliches Verhalten zwischen iOS 7 und iOS 8

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

  • -applicationDidBecomeActive: unterschiedliches Verhalten zwischen iOS 7 und iOS 8

    Liebe Community,

    in meinem Storyboard sind zwei Controller. Vom InitialViewController habe ich ein Modal Segue zu einem weiteren Controller. Da der der InitialViewController beim Starten der App quasi leer ist, habe ich in der Methode -applicationDidBecomeActive: ein eigenes Segue erstellt, welches das Modal Segue ohne Animation ausführt, damit der ModalViewController als erster Controller dargestellt wird.

    In iOS 7 hat das prima funktioniert. Aber jetzt in iOS 8 schaut zuerst ganz kurz der InitialViewController durch, ehe der ModalViewController präsentiert wird. Das ist natürlich nicht schön. Kann man das alte Verhalten wiederherstellen oder gibt es wenigstens einen anderen Weg, um ein Segue ohne Animation beim ersten Start einer App auszuführen? Es ist mir wichtig, dass das Segue ohne Animation ausgeführt wird, da es meiner Meinung nach nicht gut aussieht, wenn sofort nach dem Start ein ModalViewController präsentiert wird.

    Zusätzlich bekomme ich nun folgende Ausgabe auf der Konsole: Unbalanced calls to begin/end appearance transitions for <InitialViewController: 0x7f933b5313a0>

    Wenn ich den ModalViewController als InitialViewController setze funktioniert natürlich das Unwind Segue nicht. Hat jemand 'nen Tipp für mich?

    Mit freundlichen Grüßen

    TheFuriousLion

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von TheFuriousLion ()

  • Ich habe das Problem nun so gelöst, dass ich in -viewDidLoad: einen UIImageView mit dem LaunchImage als Subview einfüge und diesen im Completion-Block der Methode -presentViewController:animated:completion: wieder vom Superview entferne. Das Segue starte ich in -viewDidAppear:.

    Ist zwar nicht die schönste Lösung, aber in iOS 8 ist es anscheinend nicht anders möglich.