我需要创建一个以我手动定制的基本视图开头的拆分视图应用程序。然后,我需要过渡到SplitView或将主/明细表视图推送到用于电话实现的堆栈中。

我计划使用的策略是将基本视图放入SplitView控制器的详细信息窗格中,而在该视图中时,只需按其各自的方向隐藏左侧窗格的侧面板和按钮即可。

有没有更好的办法?我可以使用“普通”视图作为根视图,然后以编程方式将其切换到UISplitView吗?

对于手机版本-这并不是真正的问题。由于导航控制器是根视图控制器-我可以将更多视图推入堆栈。

对于iPad-您无法将UISplitView控制器推入导航堆栈。我真的很想这样做,所以我有一些“后退”的概念。我可以以编程方式创建它-但在我这样做之前-如果其他选项存在,我会对它们感兴趣。

我想为此应用程序使用Storyboards-目标版本为iOS 5-ARC。

最佳答案

我通过替换应用程序的根目录来完成此操作。作为第一个屏幕,我有一个LoginViewController,登录成功后,用ViewController切换该UISplitViewController。您也可以制作动画。

编辑:

这是我来自UIStoryboardSegue子类的代码:

- (void) perform
{
    AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;

    UIViewController *sourceViewController = (UIViewController *)self.sourceViewController;
    UISplitViewController *destinationViewController = (UISplitViewController *)self.destinationViewController;

    UIWindow *window = appDelegate.window;
    window.rootViewController = destinationViewController;
    window.rootViewController = sourceViewController;

    [UIView transitionWithView:sourceViewController.view.window
                      duration:0.5
                       options:UIViewAnimationOptionTransitionFlipFromLeft
                    animations:^{
                        window.rootViewController = destinationViewController;
                    }
                    completion:^(BOOL finished){
                    }];
}

07-28 12:27