gpt4 book ai didi

ios - 将 UITabBarController 添加到 NavigationController

转载 作者:行者123 更新时间:2023-11-29 01:50:18 24 4
gpt4 key购买 nike

我的应用程序目前有一个 UINavigationController,我想在完成登录过程的某个时候推送一个 mainTabBarController(子类 UITabBarController)。我正在尝试在 Interface Builder 上创建它(而不是以编程方式)。

我的问题是 mainTabBarController 似乎被推到 UINavigationController 上,因此我可以在底部看到所有选项卡栏,但是,我没有在屏幕上看到任何应该存在的 View 元素。我只看到黑屏和标签栏。

我仔细检查了嵌入在 mainTabBarController 中的每个 View Controller 的正确位置是否有 View 元素,例如标签和按钮。

我关注了this tutorial并阅读 this文章仔细但还是找不到问题所在。

MainTabBarController *mainTabBarVC = [MainTabBarController new];

// Create child VCs for tabBarController
self.feedVC = [FeedViewController new];
self.chatVC = [ChatViewController new];
self.friendsVC = [FriendsViewController new];
self.meVC = [MeViewController new];

self.feedVC.tabBarItem.title = @"Feed";
self.chatVC.tabBarItem.title = @"Chat";
self.friendsVC.tabBarItem.title = @"Friends";
self.meVC.tabBarItem.title = @"Me";

mainTabBarVC.viewControllers = @[self.feedVC, self.chatVC, self.friendsVC, self.meVC];

[self.navigationController pushViewController:mainTabBarVC animated:YES];

编辑:我用下面的代码解决了这个问题。坦率地说,我仍然不明白为什么我不能使用上面的代码。希望这对某人有所帮助。

self.feedVC = [self.storyboard instantiateViewControllerWithIdentifier:@"FeedVC"];
self.chatVC = [self.storyboard instantiateViewControllerWithIdentifier:@"ChatVC"];
self.friendsVC = [self.storyboard instantiateViewControllerWithIdentifier:@"FriendsVC"];
self.meVC = [self.storyboard instantiateViewControllerWithIdentifier:@"MeVC"];

self.feedVC.tabBarItem.title = @"Feed";
self.chatVC.tabBarItem.title = @"Chat";
self.friendsVC.tabBarItem.title = @"Friends";
self.meVC.tabBarItem.title = @"Me";

mainTabBarVC.viewControllers = @[self.feedVC, self.chatVC, self.friendsVC, self.meVC];

[self.navigationController pushViewController:mainTabBarVC animated:YES];

最佳答案

为了实现你想要的,我认为它应该是这样的:

//create a UITabBarController object
UITabBarController *tabBarController=[[UITabBarController alloc]init];

// Create child VCs for tabBarController
FeedViewController *feedVC=[[FeedViewController alloc]initWithNibName:@"feedVC" bundle:nil];
ChatViewController *chatVC=[[ChatViewController alloc]initWithNibName:@"chatVC" bundle:nil];

//adding view controllers to your tabBarController bundling them in an array
tabBarController.viewControllers=[NSArray arrayWithObjects: feedVC,chatVC, nil];

//navigating to the UITabBarController that you created
[self.navigationController pushViewController:tabBarController animated:YES];

关于ios - 将 UITabBarController 添加到 NavigationController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31492486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com