Sie sollten UISplitViewControllerDelegate implementieren. Einfachste Art und Weise können Sie Ihre eigene MySplitViewController Klasse haben und setzen sich als Delegierter in viewDidLoad:
self.delegate = self;
Erstens kann man showDetailViewController möchte etwas wie folgt aussehen:
- (BOOL) splitViewController:(UISplitViewController*)splitViewController showDetailViewController:(UIViewController*)vc sender:(id)sender
{
if (splitViewController.collapsed)
{
[(UINavigationController*)splitViewController.viewControllers[0]) pushViewController:vc animated:YES];
}
else
{
self.viewControllers = @[ self.viewControllers.firstObject, vc ];
}
return YES;
}
, kümmert sich um die richtige nehmen sollte Darstellung der Detailansicht in beiden Ausrichtungen.
Als nächstes sollten Sie folgende Delegatmethode ähnlich wie dies umzusetzen:
- (UIViewController*) splitViewController:(UISplitViewController*)splitViewController
separateSecondaryViewControllerFromPrimaryViewController:(UIViewController*)primaryViewController
{
UINavigationController* nc = primaryViewController;
UIViewController* detailVC = nc.viewControllers.lastObject;
return detailVC;
}
Diese Methode ist Ihre Chance zu nehmen, was man sich von primären Controller wollen und zurück, dass als Detailansicht Controller. Der obige Beispielcode ist ziemlich einfach. Sie müssen möglicherweise durch Navigation ViewControllers navigieren und alle auswählen, die mit einem bestimmten View-Controller beginnen (vorausgesetzt, Sie hatten Push-Vorgänge aus der Detailansicht).
Sowieso wäre es wirklich Auszahlung einige Zeit in Anspruch nehmen und lesen: UISplitViewController class reference und besonders UISplitViewControllerDelegate Protocol Reference Dies wird viel klarer. Wenn Sie eine Verknüpfung wünschen, werfen Sie einen Blick auf Xcode Split View Controller-Vorlage-Projekt. Dieser sollte auch Hinweis oder genaue Lösung für Ihr Problem enthalten.