我有一个应用程序,其中我有一个带有4个选项卡init的TabBarController,当您单击前视图上的按钮(这是第一个选项卡)时,将在导航视图中上载视图。现在我想使用UIImagePicker控制器拍摄照片并将其保存在第二个视图中。当我这样做时,模态控制器被加载,但该控制器的底部栏有选项和取消按钮被标签栏覆盖。
我尝试使用
viewController.hidesBottomBarWhenPushed = YES;
但它不会隐藏tabBar。
有没有办法隐藏tabBar或加载modalController视图以通过tabBar选择图片。
答案 0 :(得分:0)
因为您正在将视图推送到导航堆栈(我假设使用[self pushViewController:etc]),所有这些都发生在导航控制器内部,因此标签栏将始终显示在顶部。
您需要做的是将其添加到持有导航控制器的窗口顶部。假设您拥有应用程序委托所拥有的单个导航控制器,您的代码可能是这样的:
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate.window addSubview:myOtherViewController.view];
希望有所帮助!
答案 1 :(得分:0)
@ h4xxr:我认为你有正确的想法,但是使用modalViewController,它不是pushViewController,它是presentModalViewController。
@rkbang,我会尝试在窗口级别,也可以在标签栏级别查看是否可以正常工作。
另一种方法是在名为Hide的自定义UITabBarController中创建一个公共方法,然后在呈现模态视图后调用它。