как я должен отслеживать detailViewController из меняющегося masterViewController?

Обновление. Кажется, я понял это, но, если хотите, прочитайте мой вопрос и убедитесь, что мое решение (в ответах) правильное, спасибо.

Я новичок в splitViewController, и мне трудно понять, как я должен выталкивать контроллер подробного представления, когда выталкивается мастер.

Мне может быть трудно это объяснить, но я постараюсь изо всех сил, вот скриншот, чтобы понять мою раскадровку: enter image  описание здесь

MasterView — это NavigationController, который имеет RootViewController для TableView, когда пользователь выбирает ячейку, masterView отправляет следующее табличное представление, и детали программно изменяются следующим образом:

В начальном корне:

  detailViewController = (CCGViewController *)[[self.splitViewController.viewControllers lastObject] topViewController];

При щелчке ячейки в корне

 [detailViewController performSegueWithIdentifier:@"replaceSearchWithSponsor" sender:self];

Это работает для детализации, но когда я выталкиваю навигационный контроллер основного представления, я хотел бы настроить хороший способ всплывать подробных представлений в их навигационных стеках.

Любые предложения будут ценны.

Спасибо.


person mkral    schedule 24.09.2012    source источник


Ответы (1)


Я только что создал подкласс UINavigationController, и когда я вытащил MasterNavigationController, я также вытащил Detail. Кажется, это работает для меня, если вы обнаружите какие-либо потенциальные проблемы, дайте мне знать:

in .h :

@interface CCGPopMasterNavigationController : UINavigationController

@end

in .m

@interface CCGPopMasterNavigationController ()

@end

@implementation CCGPopMasterNavigationController

- (UIViewController *)popViewControllerAnimated:(BOOL)animated {
    [[[[self.splitViewController.viewControllers lastObject] topViewController]navigationController
      ] popViewControllerAnimated:animated];
    return [super popViewControllerAnimated:animated];
}
@end
person mkral    schedule 24.09.2012