【问题标题】:Xcode 5. Tabbed application without storyboard?Xcode 5. 没有情节提要的选项卡式应用程序?
【发布时间】:2014-06-12 20:14:18
【问题描述】:

问题类似于this one,但它是在 Xcode 5 不存在时创建的。而这个问题仍然没有答案。关于如何删除storyboard也有类似的问题,但都是关于导航控制器,而不是标签栏控制器。

我的行动顺序:

  1. 创建选项卡式应用程序

  2. 删除所有情节提要文件

  3. 从 .plist 中删除情节提要

  4. 创建 UITabBarController 子类并编辑 xib

  5. 更改应用委托:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    BKTabController *navVC = [[BKTabController alloc] initWithNibName:@"BKTabController" bundle:nil];
    self.window.rootViewController = navVC;
    [self.window makeKeyAndVisible];

    return YES;
}

结果是黑屏,有一个灰色的地方而不是标签栏。

错在哪里?

【问题讨论】:

    标签: storyboard uitabbarcontroller xcode5 xib tabbed


    【解决方案1】:

    你看到黑屏是因为你的标签栏是空的,所以你必须将 ViewController 添加到你的 TabController。

    像这样修改你的 AppDelegate:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        // Override point for customization after application launch.
        self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
        BKTabController *navVC = [[BKTabController alloc] initWithNibName:@"BKTabController" bundle:nil];
        self.window.rootViewController = navVC;
    
        FirstViewController* firstView = [[FirstViewController alloc]initWithNibName:nil bundle:nil];
        firstView.title = @"FIRST"; //THIS WILL BE THE TITLE OF YOUR FIRST TAB
    
        SecondViewController* secondView = [[SecondViewController alloc]initWithNibName:nil bundle:nil];
        secondView.title = @"SECOND";//THIS WILL BE THE TITLE OF YOUR SECOND TAB
    
        //ADD VIEW CONTROLLER TO YOUR TAB CONTROLLER
        self.tabBarController.viewControllers = @[firstView,secondView];
    
        [self.window makeKeyAndVisible];
        return YES;
    }
    

    总结:

    1. 向您的 Xcode 项目添加两个或多个新的 ViewController(例如 第一视图控制器,第二视图控制器)。
    2. 通过将此 ViewControllers 添加到您的标签栏控制器来修改您的应用委托。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-16
      • 2013-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-18
      • 2014-11-08
      • 2011-12-07
      相关资源
      最近更新 更多