Es ist nichts eingebaut, aber ein View-Controller könnte beim Empfang von viewDidAppear
und / oder viewWillDisappear
prüfen, ob ein parentViewController
vorhanden ist, da pro Apples Dokumentation (Hervorhebung hinzugefügt):
Übergeordnete Ansichts-Controller sind in Navigation, Tab-Leiste und modal relevant Controller-Hierarchien anzeigen. In jeder dieser Hierarchien der Eltern ist das Objekt, das für die Anzeige des aktuellen View-Controllers zuständig ist. Wenn Sie einen View-Controller als eigenständiges Objekt verwenden, also nicht als Teil einer View-Controller-Hierarchie - der Wert in dieser Eigenschaft ist Null.
Wenn es dann ist, kann es geeignete Flags für zukünftige Referenz setzen.
Beachten Sie, dass die modale Darstellung etwas anderes ist, als modal zu sein. Auf einem iPad könnten Sie beispielsweise einen Controller in ein UIPopoverController
setzen, so dass der Controller nicht modal präsentiert wird, aber dann könnte er modal einen anderen Controller über sich selbst darstellen. Der zweite Controller wird also modal präsentiert, ist aber selbst kein modaler Dialog, da der Benutzer das Popover einfach komplett ignorieren kann, wenn das Programm anders eingerichtet ist.
Überprüfen Sie, ob die parentViewController
-Eigenschaft Ihres UIViewControllers nil
ist oder nicht.
Wenn die Eigenschaft nil
ist, wird sie abgelehnt, andernfalls wird sie angezeigt.
HINWEIS: Die parentViewController
-Eigenschaft von UITableViewControllers childViewController wäre auch nicht nil
, Sie sollten auch sicherstellen, dass der parentViewController nicht UITableViewController ist.
Tags und Links ios