首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITabBarController + UINavBarController

UITabBarController + UINavBarController
EN

Stack Overflow用户
提问于 2010-10-28 21:54:08
回答 1查看 216关注 0票数 0

我知道这已经在很多其他话题上讨论过几次了,博客,书,youtube等等。但是,让我来解释一下我的情况。我希望当应用程序打开时,它会显示一个facebook连接按钮来登录。用户登录后,它将启动tabBarView。在我的应用代理中,我首先添加了MainViewController,并在那里显示了facebook connect登录按钮。然后,在登录之后,它添加tabBarViewController作为它的子视图。

现在,在这个tabBarViewController中,我想让它有两个选项卡。第一个选项卡是people,第二个是map。我想在“人员”选项卡中添加一个navBar。因此,我在代码中执行的操作如下所示:

代码语言:javascript
复制
tabBarViewController = [[TabBarViewController alloc] init];
    mvc = [[MapViewController alloc] init];
    UIImage* mapIcon = [UIImage imageNamed:@"13-target.png"];
    mvc.tabBarItem = [[[UITabBarItem alloc] initWithTitle:@"Map" image:mapIcon tag:0] autorelease];

    tvc = [[TableViewController alloc] init];
    UIImage* peopleIcon = [UIImage imageNamed:@"112-group.png"];
    tvc.tabBarItem = [[[UITabBarItem alloc] initWithTitle:@"People" image:peopleIcon tag:0] autorelease];

    friendsNavController = [[FriendsNavController alloc] init];


    tabBarViewController.viewControllers = [NSArray arrayWithObjects: friendsNavController, tvc, mvc, nil];
    tvc.userInfo = _userInfo;
    [self.tabBarViewController viewWillAppear:YES];
    [self.view addSubview:self.tabBarViewController.view];

现在的结果是我有3个选项卡栏,一个有一个导航栏,一个有一个表格列表,还有一个是地图。如何更改代码,使导航栏和表视图位于一个选项卡栏中?我在这里做错了什么?

这是它在界面生成器上的样子:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-28 22:15:29

选项卡栏控制器的视图控制器应该只由导航控制器和mapViewController组成。

TableViewController (tvc)将在导航控制器的viewControllers中,而不是在tabBarViewController中。在friendsNavController上调用initWithRootViewController:tvc

因此,您的数组应该只有两个tabBarViewControllers项(friendsNavController和mvc)。

此外,这也意味着navigationController具有tabBar项,而不是tableViewController。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4043559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档