使用故事板视图控制器创建程序化选项卡栏?

kev*_*vin 8 iphone objective-c ios ios5

我有一个以编程方式创建的标签栏,我在初始化与视图关联的故事板时遇到了困难.

我可以在没有故事板的标签栏中成功加载视图(请参阅下面的代码),但视图仅部分显示,因为某些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]]; 
}
Run Code Online (Sandbox Code Playgroud)

Den*_*cht 18

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

// 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"];
Run Code Online (Sandbox Code Playgroud)