是否可以知道您是否查看UISplitViewController的MainView或DetailView

时间:2011-04-18 00:27:56

标签: ipad uisplitviewcontroller

我有一个视图,我想在UISplitViewController的MainView和DetialView中使用,但我需要知道它所在的视图,以便它可以正常运行。有什么方法可以知道吗?

1 个答案:

答案 0 :(得分:0)

您的视图的控制器将位于UISplitViewControllerviewControllers属性中的两个控制器层次结构之一。

将控制器的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
            }
        }
    }
}