Ich habe eine Popup-Klasse für die Anzeige einiger Nachrichten über meine gesamte App. Ich habe eine Instanz init und es als Kind eines aktuell hinzufügen erscheinen Controller zeigen dann das Popup-Ansicht, wenn ich will:Zeige Popup überall in App wie UIAlertController
func popMessage() {
let popup = MyPopup()
self.addChildViewController(popup)
self.view.addSubView(popup.view)
popup.didMoveToParentViewController(self)
popup.show()
}
Manchmal ist die aktuelle Ansicht Controller in UINavigationController
oder UITabBarController
eingebettet ist. Wenn meine Popup-Ansicht auf der gesamten Bildschirmgröße angezeigt wird, ohne von der Navigationsleiste oder der Tableiste abgeschnitten zu werden, muss ich sie als untergeordnetes Element des Navigationscontrollers oder des Tab-Controller hinzufügen. Dies ist ärgerlich, wenn ich mich dazu entscheide, die Controller-Hierarchie zu ändern.
Wie kann ich es einfacher machen, wie ein UIAlertViewController mit:
let popup = MyPopup()
popup.show()
or
self.presentViewController(popup)
es überall Pop und es ist der einzige Fokus auf dem Bildschirm, ohne die übergeordnete Ansicht in Bezug auf Controller sollte das Popup hat?
Das hilft! Und was, wenn ich es animieren möchte, "UIView.animateWithDuration" zu verwenden, anstatt es modal zu präsentieren? Ist das Hinzufügen von Popups als Child View Controller die einzige Möglichkeit, die eigene Ansicht zu animieren? – bluenowhere
Wenn Sie nach der aktuellen Ansicht mit benutzerdefinierter Animation suchen ... http://stackoverflow.com/questions/19931710/how-to-custom-modal-view-controller-presenting-animation – raki