【问题标题】:Hiding TabBar Item隐藏 TabBar 项
【发布时间】:2009-07-23 22:21:18
【问题描述】:

我有一个应用程序,其中我有一个带有 4 个选项卡的 TabBarController,当您单击前视图(这是第一个选项卡)上的按钮时,导航视图中会上传一个视图。现在我想使用 UIImagePicker 控制器拍照并将其保存在第二个视图中。当我这样做时,模态控制器已加载,但该控制器的底部栏有选择和取消按钮被标签栏覆盖。

我尝试过使用

viewController.hidesBottomBarWhenPushed = YES;

但它不会隐藏 tabBar。

有什么办法可以隐藏tabBar或者加载modalController视图来选择tabBar上方的图片。

【问题讨论】:

    标签: iphone


    【解决方案1】:

    因为您将视图推送到导航堆栈(我假设使用 [self pushViewController:etc]),所以这一切都发生在导航控制器内部,因此标签栏将始终显示在顶部。

    您需要做的是将它添加到包含导航控制器的窗口顶部。假设您有一个由应用程序委托拥有的导航控制器,您的代码可能是这样的:

    MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
    [appDelegate.window addSubview:myOtherViewController.view];
    

    希望有帮助!

    【讨论】:

      【解决方案2】:

      @h4xxr:我认为您在这里的想法是正确的,但是对于 modalViewController,它不是 pushViewController,而是 presentModalViewController。

      @rkbang,我会尝试在窗口级别以及标签栏级别执行此操作,看看是否可行。

      另一种选择是在自定义 UITabBarController 中创建一个名为 Hide 的公共方法,然后在显示模态视图后调用它。

      【讨论】:

      • 如果你写了一个方法,隐藏它的代码。比如我们如何隐藏tabBarItem。
      • 你已经拥有的代码...我已经看到它工作了,所以问题只是把它放在正确的位置(在你的视图层次结构中正确的自定义类中)。看起来你解决了这个问题。
      • 非常正确的 Tahoe,presentModalViewController。专注于他在错误的地方做的事实!...
      猜你喜欢
      • 2018-06-05
      • 2011-08-17
      • 2021-06-04
      • 2021-10-30
      • 2012-02-26
      • 1970-01-01
      • 1970-01-01
      • 2017-01-28
      • 1970-01-01
      相关资源
      最近更新 更多