Ich erstelle eine iMessage-Erweiterung wo für die erweiterten Präsentationsstil Ich möchte eine UINavigationController
verwenden. Ich versuche, den Navigation-Controller als ein Subview der MSMessagesAppViewController
mit der Funktion zum hinzufügen:UINavigationController als Unteransicht zu MSMessagesAppViewController
private func present(viewController: UIViewController) {
viewController.view.frame = view.frame
addChildViewController(viewController)
viewController.didMove(toParentViewController: self)
view.addSubview(viewController.view)
}
ich die Navigationssteuerung erwartet in der traditionellen Art und Weise angezeigt werden, mit der Navigationsleiste Start knapp unterhalb der oberen Leiste von iMessage selbst. Bitte beachten Sie die folgende Abbildung für mein angestrebtes Ergebnis:
Es scheint jedoch, view.frame
erstreckt sich tatsächlich unterhalb der iMessage oberen Leiste. Daher ist die Navigationsleiste meines Navigationscontrollers unter der oberen Leiste von iMessage versteckt. Die Inhaltsansicht der Bildlaufansicht selbst wird jedoch ohne weitere Anpassung korrekt positioniert. Bitte beachten Sie die folgende Abbildung für das tatsächliche Ergebnis:
Offensichtlich ich den Rahmen der Navigationssteuerung einstellen könnte beginnen knapp unterhalb der oberen Leiste. Ich suche jedoch nach Lösungen, die nicht zu sehr auf hartcodierte Positionen angewiesen sind. Wenn Sie dies tun, wird die Bildlaufansicht auch nicht unterhalb der oberen Leiste von iMessage für diesen transluzenten Effekt fortgesetzt.
Im Idealfall wird die Navigationsleiste genau unter der oberen Leiste von iMessage angezeigt, genau wie die Bildlaufansicht standardmäßig.
Kennt jemand eine Lösung dafür?
Es scheint, es gibt eine bessere Lösung http://stackoverflow.com/questions/38426146/how-to-keep-navigation-bar-from-disappearing-with-msmessagesviewcontroller-ui. – nouatzi