Можно ли узнать, если вы просматриваете MainView или DetailView UISplitViewController - PullRequest
0 голосов
/ 18 апреля 2011

У меня есть представление, которое я хочу использовать в MainView и DetialView UISplitViewController, но мне нужно знать, в каком представлении оно находится, чтобы оно могло вести себя правильно. Есть ли способ узнать?

1 Ответ

0 голосов
/ 18 апреля 2011

Контроллер вашего представления будет в одной из двух иерархий контроллеров в свойстве viewControllers UISplitViewController .

Перейдите цепочку parentViewController вашего контроллера к UISplitViewController и затем определитев какой это ветке.

- (void) viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    if (self.splitViewController) {
        UISplitViewController split = self.splitViewController;

        UIViewController vc = self;
        while (split != vc.parentViewController) {
            vc = vc.parentViewController;
            if (!vc) break;
        }

        if (vc) {
            NSUInteger i = [split.viewControllers indexOfObject:vc];

            if (i == 0) {
                // self.view is on left side

            } else if (i == 1) {
                // self.view is on right side
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...