【问题标题】:Hiding TabBar controller隐藏 TabBar 控制器
【发布时间】: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 中包含的简单视图控制器。

【问题讨论】:

    标签: iphone uitabbarcontroller xamarin.ios tabbar


    【解决方案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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-24
      • 2011-08-17
      • 1970-01-01
      • 2021-06-04
      • 2019-02-06
      • 2012-04-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多