隐藏 TabBar 控制器
Posted
技术标签:
【中文标题】隐藏 TabBar 控制器【英文标题】:Hiding TabBar controller 【发布时间】:2011-02-02 00:39:55 【问题描述】:我有这个与 MonoTouch 相关的问题,但我认为 Objective/C 程序员也可以提供帮助。
我有带有一些标签的 TabBarController。我希望我的主视图控制器(添加到 tabBar)在没有 tabBar 的情况下出现。 我认为这样做的方法是将那个控制器的 HidesBottomBarWhenPushed 设置为 true。
homePage = new HomePageController();
homePage.HidesBottomBarWhenPushed = true;
homePage.TabBarItem = new UITabBarItem("Home", new UIImage("Images/Icons/home.png"), 0);
但是,这似乎只适用于将 TabBar 与 NavigationController 一起使用的情况,即在我们实际推送控制器的情况下。 我想知道是否有一种方法可以仅针对 tabBarController 中包含的简单视图控制器。
【问题讨论】:
【参考方案1】:您可以尝试将标签栏的hidden
属性设置为YES。 (或 MonoTouch 中的 true
)
【讨论】:
你好,摩西。非常感谢您的回答。 然而,这并不是我想要得到的。当我将 hidden 属性设置为 true 时,我在 TabBar 的位置得到白色矩形。我希望能够将 ViewController 放在那个 TabBar 上。我试图将 ViewController 放在前面,因为如果我错了,请纠正我,TabBar 的索引为 1,而 ViewController 显示为 0。遗憾的是,这不起作用。任何进一步的帮助将不胜感激。 您还需要调整视图框架的大小。我稍后会尝试发布代码。【参考方案2】:我发现,其实tabBarController的tabBar区域是不能覆盖的。您可以像 Moshe 所说的那样设置隐藏属性,或者您也可以使用不透明度但不能用任何东西覆盖它。 但是有一个很好的替代解决方案。您可以使用模态视图,它始终具有比常规控制器更高的索引。因此,它将涵盖所有内容。
homePageContent.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
homePageContent.ModalTransitionStyle = UIModalTransitionStyle.CoverVertical;
this.PresentModalViewController(homePageContent, false);
base.ViewWillAppear (animated);
【讨论】:
以上是关于隐藏 TabBar 控制器的主要内容,如果未能解决你的问题,请参考以下文章
swift - 指定VC隐藏导航栏 - 禁用tabbar的根控制器手势,防止两个tabbar跳转 手势冲突