簡體   English   中英

將新的StoryBoard添加到UITabbarController

[英]Adding new StoryBoard to UITabbarController

我的應用程序中有很多故事板。 以前我的應用程序不是基於UITabBar的應用程序,但是現在我決定采用一種更UITabBar方式。 現在,我要將情節UITabBarController添加到UITabBarController 我打開了一個情節提要板並將其嵌入到UITabBarController中,但是現在我不知道如何將其他Storybord的第一個UIViewControllers添加到我的Tabbar中。 我沒有任何tabBarController屬性等。

任何想法我如何可以將不同的故事板添加到一個UITabBarController

如果您不想在一個情節提要板上全部移動,則應參考選項卡欄控制器,並以編程方式添加每個情節提要的初始視圖控制器。

我想我的第一個問題/關注點是為什么您會有這么多故事板。 為什么不將所有視圖控制器都放在一個情節提要板上? 如果您將所有View Controller放在同一個情節提要板上,那么將它們連接到UITabBarController就是一件很簡單的事情-按住Control並從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的答案是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
}

看例子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM