ios - 将一个简单的应用程序转换为具有标签栏

标签 ios interface-builder uitabbarcontroller

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

抱歉背景这么长。我正在关注上述问题的公认答案。前4个步骤我已经做过或者可以做。第 5 步是从 NIB 文件中删除旧版本的主视图 Controller ,并从 Application Delegate 中删除 IBOutlet 属性。我认为我的应用程序中没有这样的 IBOutlet (这与 OP 的应用程序不同)。我应该删除此列表中显示的对象 View Controller 吗?还是我走错路了?

enter image description here

附加信息

- (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;
}

最佳答案

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

- (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;
}

关于ios - 将一个简单的应用程序转换为具有标签栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10694691/

相关文章:

ios - Swift 3.0中弃用了XMPP语法

ios - 在 Interface Builder 中设置 UITabBarItem 图像/图标

ios - UIScrollView 在添加约束时消失

objective-c - 在 UITabBarController 中制作自定义 UITabBar 的正确方法

iphone - 推送 UIViewController 时隐藏 UITabBarController 的标签栏

ios - 如何在 Swift 中检查 NSTimer 是否正在运行?

ios - UITableViewCell 上的自定义 subview 和滚动问题

objective-c - 无法将 NSWindow 拖动并定位到停靠栏下方

ios - 使用委托(delegate)和 UITabBarController 转发数据

ios - 如何检测音效何时播放完毕?