0

我有一个类似于这个SO question的问题,但略有不同(或者我的技能不允许我自信地遵循指示)。我有一个现有的游戏应用程序,它有一个视图控制器和一个笔尖,并且工作正常。我想将其转换为具有标签栏控制器。我希望原始的现有视图控制器位于第一个选项卡上,我为第二个选项卡编写了一个新的视图控制器和一个新的 nib,它们将专用于游戏设置。在这个阶段,应用程序在项目中使用新的 nib 和视图控制器构建和运行良好(但没有进一步的编辑——没有尝试添加标签栏控制器等)。修改后的应用程序应该只有两个视图,每个视图都可以从两个选项卡之一访问。

对不起,很长的时间。我正在关注上述问题的公认答案。我已经完成或可以完成的前 4 个步骤。第五步是Delete the old version of your Main View Controller from the NIB file and also remove the IBOutlet property from the Application Delegate。我认为我的应用程序中没有这样的IBOutlet应用程序(与 OP 的应用程序不同)。我应该删除此列表中显示的对象视图控制器吗?还是我在这里走错了路?

在此处输入图像描述

附加信息

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // Set up view controller & load a clean view

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    self.viewController = [[P3ViewController alloc] initWithNibName:@"P3ViewController" bundle:nil];
    self.window.rootViewController = self.viewController;

    NSLog(@"P3ViewController now active");

    [self.window makeKeyAndVisible];

    return YES;
}
4

1 回答 1

2

这应该会让你朝着正确的方向前进......

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    UITabBarController *tbc = [[UITabBarController alloc] init];
    YourNewViewController *ynvc = [[YourNewViewController alloc] initWithNibName:@"YourNewViewController" bundle:nil];
    YourCurrentViewController *ycvc = [[YourCurrentViewController alloc] initWithNibName:@"YourCurrentViewController" bundle:nil];
    [tbc setViewControllers:[NSArray arrayWithObjects:ynvc, ycvc, nil]];
    self.window.rootViewController = tbc;
    [self.window makeKeyAndVisible];
    return YES;
}
于 2012-05-22T01:46:14.633 回答