Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 向UITabbarController添加新情节提要_Ios_Uitabbarcontroller_Uistoryboard_Tabbar - Fatal编程技术网

Ios 向UITabbarController添加新情节提要

Ios 向UITabbarController添加新情节提要,ios,uitabbarcontroller,uistoryboard,tabbar,Ios,Uitabbarcontroller,Uistoryboard,Tabbar,我的应用程序中有很多故事板。以前我的应用程序不是基于uitabar的应用程序,但现在我决定采用更uitabar的方式。现在,我想将我的故事板添加到我的uitabarcontroller。我打开了一个故事板并将其嵌入到UITabBarController中,但现在我不知道如何将其他storybord的第一个UIViewController添加到我的选项卡栏中。我没有任何tabBarController属性等 如果您不想在一个故事板中移动所有内容,您应该参考tab bar controller并以编

我的应用程序中有很多故事板。以前我的应用程序不是基于
uitabar
的应用程序,但现在我决定采用更
uitabar
的方式。现在,我想将我的故事板添加到我的
uitabarcontroller
。我打开了一个故事板并将其嵌入到UITabBarController中,但现在我不知道如何将其他storybord的第一个
UIViewController
添加到我的选项卡栏中。我没有任何tabBarController属性等


如果您不想在一个故事板中移动所有内容,您应该参考tab bar controller并以编程方式添加每个故事板的初始视图控制器。

如果您不想在一个故事板中移动所有内容,您应该获得对选项卡栏控制器的引用,并以编程方式添加每个故事板的初始视图控制器。

我想我的第一个问题/关注点是为什么您有这么多故事板。为什么不将所有视图控制器放在一个故事板上?如果您的所有视图控制器都在同一个故事板上,那么将它们连接到UITabBarController是一件小事-控制+从UITabBarController拖动连接,可以根据需要选择多个视图控制器

如果出于某种原因,需要将视图控制器分布在多个故事板中,那么您应该能够按照以下方式以编程方式加载它们。在UITabBarController的子类中:

- (void)viewDidLoad {
    [super viewDidLoad];
    UIStoryboard *storyboard1 = [UIStoryboard storyboardWithName:@"YourStoryBoardHNameHere1" bundle:nil];
    UIViewController *vc1 = [storyboard1 instantiateViewControllerWithIdentifier:@"YourVCNameHere1"];
    UIStoryboard *storyboard2 = [UIStoryboard storyboardWithName:@"YourStoryBoardHNameHere2" bundle:nil];
    UIViewController *vc2 = [storyboard2 instantiateViewControllerWithIdentifier:@"YourVCNameHere2"];
    self.viewControllers = @[vc1,vc2];
}

我想我的第一个问题/担心是为什么你有这么多故事板。为什么不将所有视图控制器放在一个故事板上?如果您的所有视图控制器都在同一个故事板上,那么将它们连接到UITabBarController是一件小事-控制+从UITabBarController拖动连接,可以根据需要选择多个视图控制器

如果出于某种原因,需要将视图控制器分布在多个故事板中,那么您应该能够按照以下方式以编程方式加载它们。在UITabBarController的子类中:

- (void)viewDidLoad {
    [super viewDidLoad];
    UIStoryboard *storyboard1 = [UIStoryboard storyboardWithName:@"YourStoryBoardHNameHere1" bundle:nil];
    UIViewController *vc1 = [storyboard1 instantiateViewControllerWithIdentifier:@"YourVCNameHere1"];
    UIStoryboard *storyboard2 = [UIStoryboard storyboardWithName:@"YourStoryBoardHNameHere2" bundle:nil];
    UIViewController *vc2 = [storyboard2 instantiateViewControllerWithIdentifier:@"YourVCNameHere2"];
    self.viewControllers = @[vc1,vc2];
}

N8P的答案:使用多个故事板实现TabBarController

   func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.

    let tabBar = UITabBarController()
    tabBar.viewControllers = self.getArrayOfViewControllers()
    self.customiseTabItems(tabBar: tabBar.tabBar)
    // set tabBar as root

    self.window?.rootViewController = tabBar
    self.window?.makeKeyAndVisible()
    return true
}

对于N8P的答案,Swift 3:使用多个故事板实现TabBarController

   func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.

    let tabBar = UITabBarController()
    tabBar.viewControllers = self.getArrayOfViewControllers()
    self.customiseTabItems(tabBar: tabBar.tabBar)
    // set tabBar as root

    self.window?.rootViewController = tabBar
    self.window?.makeKeyAndVisible()
    return true
}