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
}