【问题标题】:Creating a programmatic tab bar with storyboard view controllers?使用情节提要视图控制器创建程序化标签栏?
【发布时间】:2011-12-28 03:24:47
【问题描述】:

我有一个以编程方式创建的标签栏,但在初始化与视图关联的情节提要时遇到了困难。

我能够在没有情节提要的情况下在标签栏中成功加载视图(请参见下面的代码),但视图仅部分显示,因为一些 UI 组件位于情节提要中。

我的故事板的名称是 MainStoryboard,我将故事板视图标识符设置为 SettingsViewController。

如何在下面的代码中为 SettingsViewController 初始化我的故事板?

- (void)createTabBarItems {
    tabBarController = [[UITabBarController alloc] init];

    settingsViewController  = [[SettingsViewController alloc] init];


    UINavigationController *sett = [[[UINavigationController alloc]
                                     initWithRootViewController: settingsViewController] autorelease];

    [sett.tabBarItem setTitle:@"Settings"];
    [sett.tabBarItem setImage:[UIImage imageNamed:@"settings.png"]];

    [tabBarController setViewControllers:
        [NSArray arrayWithObjects:sett, sett, sett, sett, nil]]; 
}

【问题讨论】:

    标签: iphone objective-c ios ios5


    【解决方案1】:

    斯威夫特 4

    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    settingsViewController = storyboard.instantiateInitialViewController()
    settingsViewController = storyboard.instantiateViewController(withIdentifier: "SettingsViewController")
    

    【讨论】:

      【解决方案2】:

      如果你想像在故事板中一样初始化视图控制器,你必须使用故事板方法而不是直接分配视图控制器:

      // load the storyboard by name
      UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
      
      // either one of the two, depending on if your view controller is the initial one
      settingsViewController = [storyboard instantiateInitialViewController];
      settingsViewController = [storyboard instantiateViewControllerWithIdentifier:@"SettingsViewController"];
      

      【讨论】:

      • 我在您的代码的第一行收到错误“选择器'storyBoardWithName:'没有已知的类方法”。所以我在代码的第一行添加了“bundle:nil”。现在我收到错误消息:“不支持推送导航控制器”我能做些什么来解决这个错误,我是否通过添加“bundle:nil”做了正确的事情?
      • 它现在可以工作了...我把一些代码弄混了。谢谢!
      • 谢谢,bundle 参数确实丢失了,我更正了。 bundle:nil 很好,因为这将在主包中进行查找。
      猜你喜欢
      • 2013-06-04
      • 2018-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多