UISplitViewController im portrait: so blenden Sie master-popover programmgesteuert?
In meinem UISplitViewController
master-controller ist ein UINavigationController
.
Wenn im portrait-Modus ich würde gerne halten Sie den navigation-controller sichtbar, solange der Benutzer navigiert nach oben (mit der zurück-Taste). Sobald ein Element aus der Tabelle Ansicht des navigation-controller " ausgewählt ist, will ich schließen Sie das popover.
Wie kann ich das erreichen? Wie kann mein UITableViewController
wissen, ob es in einem popover, und wenn ja, schließen Sie sich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Machen Sie Ihre Haupt-view-controller ein
UISplitViewControllerDelegate
(wenn es nicht bereits), und Draht es bis zu den UISplitViewController istdelegate
outlet.Erstellen Sie eine
UIPopoverController
variable in der main-view-controller:Implementieren Sie die folgenden UISplitViewControllerDelegate Methoden:
In Ihrem eigenen handler in der main-view-controller (die eine, die aufgerufen wird, wenn eine naviation Element ausgewählt in der Tabelle):
Und vergessen Sie nicht loslassen, variable:
Hoffe, das hilft!
Dem standard-iPad-Beispiel für SplitViewController in iOS5 funktioniert ungefähr das gleiche wie die aufwendige Antwort, aber die popoverController heißt masterPopoverController.
Sowie das erstellen der Eigenschaft iOS5 Stil als _popoverController funktioniert nicht, weil es wie schon ein ivar-mit den Namen UIViewController.h.
IOS 6.0 SplitView-Vorlage hat diese eingebaut. Die detail-Ansicht verfolgt die Orientierung und die MasterViewController popover.
Einfach die detailItem und das popover verschwindet, wenn angemessen. Es ist auch ein überprüfen, ob Sie mit der gleichen detaiItem also kein Seite einrichten und aktualisieren Arbeit erledigt.