首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UINavigationController中的UITabBarController UINavigationController中的

UINavigationController中的UITabBarController UINavigationController中的
EN

Stack Overflow用户
提问于 2009-09-01 03:25:52
回答 3查看 1.7K关注 0票数 1

我的问题是,我想要一个标签栏视图,它的子视图控制器首先显示。在子视图控制器中,根据所单击的控件,我希望A)在选项卡栏视图中向下钻取(刷除子视图控制器),或者B)在选项卡栏视图上向下钻取(向下滑动选项卡栏视图控制器)。

我尝试通过在标签栏控制器的子视图控制器中包装一个导航控制器(这样我可以使用方法A向下钻取),然后在选项卡栏控制器本身周围包装另一个导航控制器(这样我可以使用方法B向下钻取)来解决这个问题,这就是标题的由来。所以它是这样的: Window -> UINavigationController -> UITabBarController -> UINavigationController ->子视图控制器

问题是我最终得到了两个导航栏:

two navigation bars!! http://img527.imageshack.us/img527/240/problemc.png

其他人有过这个问题吗?如果有,你是如何解决这个问题的?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-09-01 04:35:34

在这种情况下,也许您可以简单地使用UITabBar并以编程方式管理其状态,而无需将选项卡栏控制器嵌套在另一个控制器中。

票数 2
EN

Stack Overflow用户

发布于 2009-09-01 03:39:33

如果你使用的是两个嵌套的UINavigationControllers,我认为你不能使用两个导航栏。您可以为您不想显示其栏的控制器创建UINavigationController的子类或方法,并以某种方式阻止它出现或创建。您可能还可以相应地设置导航栏的不透明属性或隐藏属性,但您可能需要进行一些花哨的UIView重新排列,以防止出现空白。

这纯粹是一种猜测;我不知道这两种方法是否有效,也不知道它们是如何工作的,但如果我尝试这样做,我会从这些想法开始。

票数 1
EN

Stack Overflow用户

发布于 2010-12-08 08:48:22

只需隐藏你不想要的栏,就像这样:

代码语言:javascript
复制
[navigationController setNavigationBarHidden:YES animated:NO];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1360379

复制
相关文章

相似问题

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