Ios 在选项卡栏中嵌入MasterDetail ViewController

Ios 在选项卡栏中嵌入MasterDetail ViewController,ios,objective-c,ipad,uisplitviewcontroller,uistoryboard,Ios,Objective C,Ipad,Uisplitviewcontroller,Uistoryboard,我目前有一个MasterDetail视图应用程序,我想在其中添加一个选项卡栏。我已成功地将选项卡栏添加到主表视图中,并且将一个表视图设置为另一个选项卡。这是可行的,但我的问题是: 如果我想在另一个选项卡上有另一个MasterDetail视图,我会将SplitView控制器添加到选项卡栏控制器吗?或者我只是添加一个表视图控制器,将其大小设置为Master,然后添加一个UIView,将其大小设置为detail,并通过segue推送所有数据 这可能是个愚蠢的问题,但我还没有看到任何答案 *编辑* 以下

我目前有一个MasterDetail视图应用程序,我想在其中添加一个选项卡栏。我已成功地将选项卡栏添加到主表视图中,并且将一个表视图设置为另一个选项卡。这是可行的,但我的问题是:

如果我想在另一个选项卡上有另一个MasterDetail视图,我会将SplitView控制器添加到选项卡栏控制器吗?或者我只是添加一个表视图控制器,将其大小设置为Master,然后添加一个UIView,将其大小设置为detail,并通过segue推送所有数据

这可能是个愚蠢的问题,但我还没有看到任何答案

*编辑*

以下是迄今为止我的AppDelegate.m的内容:

#import "AppDelegate.h"
#import "LeftViewController.h"
#import "RightViewController.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UISplitViewController *splitViewController = (UISplitViewController   *)self.window.rootViewController;
    UINavigationController *leftNavController = [(UITabBarController *)splitViewController.viewControllers[0] viewControllers][0];
    LeftViewController *leftViewController = (LeftViewController *)[leftNavController topViewController];
    UINavigationController *rightNavController = [splitViewController.viewControllers objectAtIndex:1];
    RightViewController *rightViewController = (RightViewController *)[rightNavController topViewController];

    Player *selectedPlayer = [[leftViewController players]objectAtIndex:0];
    [rightViewController setPlayer:selectedPlayer];

    leftViewController.delegate = rightViewController;
    return YES;
}

- (void)applicationWillTerminate:(UIApplication *)application
{
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}

@end

您的
UITabBarController
应该是应用程序中的根视图控制器,然后每个选项卡栏
viewcontroller
可以是
UISplitViewController
或任何适合您需要的控件

我会给你看一张故事板的图片,但是上面的东西太多了,无法告诉你发生了什么

希望有帮助

--更新--

这不一定很容易,但是你应该能够用最少的工作完成你想要的。视图控制器无需重做应用程序即可移动。以下面的例子,看看它是否有帮助。基本上,您需要一个
UITabBarController
作为根视图控制器,您可以将拆分视图添加到其中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.

    self.tabController = [[UITabBarController alloc] init];

    self.splitView = [[UISplitViewController alloc] init];

    self.tabController.viewControllers = @[self.splitView];

    self.window.rootViewController = tabController;

    return YES;
}

显然,您的代码会有所不同,但这个基本示例应该让您朝着正确的方向前进。

好吧,我的应用程序已经完成了一半,所以我不想重新开始。这是否像将
UISplitViewController*splitviewcontroller=(UISplitViewController*)self.window.rootViewController
更改为UITabBarController一样简单?如果我已将SplitViewController移出RootView,那么理想的放置位置是哪里?@CaptJak更新了答案。希望这能有所帮助。让我知道如果!对不起,现在我只是糊涂了!我添加了我当前的AppDelegate.m,以向您展示我现在正在使用的功能。您所展示的代码将如何工作?您使用的是故事板还是笔尖?如果是这样的话,这将变得容易得多。故事板,很抱歉之前没有提到