2015-02-06 14 views
5

Mam kontroler widoku podzielonego w trybie poziomym z dwoma kontrolerami nawigacyjnymi.Obrót kontrolera widoku podziału na iPhone'a 6 Plus

enter image description here

to wali do jednego kontrolera nawigacyjnego w portret i widok kontrolera szczegół jest popychany od mistrza.

enter image description here

Gdybym obrócić z powrotem do góry, gdy kontroler szczegółowy widok jest popychany w układzie pionowym Nie rozumiem, w jaki sposób umieścić kontroler szczegółowy widok z powrotem w jego własnym kontrolerem nawigacyjnym.

enter image description here

Odpowiedz

4

Należy wdrożyć UISplitViewControllerDelegate. Najprostszym sposobem może mieć własną klasę MySplitViewController i wyznaczyła sobie jako delegat w viewDidLoad:

self.delegate = self; 

Po pierwsze, może chcesz showDetailViewController wyglądać mniej więcej tak:

- (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; 
} 

To powinno dbać o właściwą pokazywanie widoku szczegółów w obu orientacjach.

Następnie należy wdrożyć następujące metody delegata podobny do tego:

- (UIViewController*)    splitViewController:(UISplitViewController*)splitViewController 
separateSecondaryViewControllerFromPrimaryViewController:(UIViewController*)primaryViewController 
{ 
    UINavigationController* nc = primaryViewController; 
    UIViewController* detailVC = nc.viewControllers.lastObject; 
    return detailVC; 
} 

Metoda ta jest okazja, aby wziąć co chcesz od kontrolera głównego i powrócić że jako szczegół widoku kontrolera. Powyższy przykładowy kod jest dość prosty, możesz potrzebować przejść przez widok nawigacyjnyControllers i wybrać wszystkie rozpoczynające się od określonego kontrolera widoku (zakładając, że popchnąłeś z widoku szczegółów).

W każdym razie naprawdę warto było poświęcić trochę czasu i przeczytać: UISplitViewController class reference, a zwłaszcza UISplitViewControllerDelegate Protocol Reference To będzie znacznie wyraźniejsze. Jeśli chcesz uzyskać skrót, spójrz na projekt szablonu podzielonego widoku kontrolera Xcode. Ta powinna również zawierać wskazówkę lub dokładne rozwiązanie twojego problemu.

Powiązane problemy