presentingViewController ist null, wenn mit presentViewController:animated:completion: in iOS 8
Frage mich, ob jemand anderes gehabt hat, dieses Problem vor kurzem...
Einer meiner view-Controller , nur auf iOS-8, die nach dem Aufruf presentViewController:animated:completion:
die vorgestellten view-controller hat self.presentingController
als null. Es ist in Ordnung auf iOS7, und auch nicht zufällig auf einem anderen view-controller.
Den Dokumentation sagt, dass es eingestellt werden sollte, solange die vorgestellten view-controller vorgestellt Modal. Es funktioniert in iOS 7, das könnte auch ein iOS 8 bug?
Habe ich in der Lage zu bekommen, um es mit einem view-container-containment-Konzept, aber es wäre gut, wenn jemand das schon mal gesehen und kennt die Ursache ausgelöst hat, dieses Verhalten.
Dank
- Wo haben Sie sich diese. Es ist nicht null in viewWillAppear oder viewDidAppear, aber ist in viewDidLoad. Ich kann mich nicht erinnern, wenn es das ist, unterscheidet sich von iOS 7.
- Die Vorgestellte controller ist ein 3rd-party ein, was ich nicht haben Zugriff auf Schritt durch (FBFriendPickerViewController). Ich sehe es als null, wenn ich traf einen Haltepunkt auf die Zeile nach dem Aufruf
presentViewController:animated:completion:
von der Präsentation controller-code Haltepunkt
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte ein ähnliches Problem mit iOS 8, wo
presentingController
ist null, wenn die überprüfung der Wert inviewDidLoad
.Wenn
viewDidLoad
aufgerufen wird, gibt es keine Garantie, dass die view-controller Hierarchie ist die im Navigationsbaum geladen sind. Das verschieben der Logik zu einem späteren Zeitpunkt (zum Beispiel:viewWillAppear
) sollte beheben, dass Problem alspresentingController
geladen werden soll, indem dann.presentingViewController
in einer Funktion. Ich erstellte eine Eigenschaft zuzugreifen, und speichern Sie einen Zeiger aufpresentingViewController
imviewDidAppear
für den späteren Gebrauch.