我目前有两个视图控制器,一个CameraViewController
使用imagePicker拍照,一个PhotoInboxViewController
显示一个人收到的所有照片信息。 PhotoInboxViewController
以及我的根视图控制器是Tab Bar Controller
。
当我在CameraViewController
中显示imagePicker以及其后的图像预览屏幕时,我通过设置self.tabBarController.tabBar.hidden = YES
来禁用TabBar。我的问题是,当PhotoInboxViewController
再次显示时(例如,如果用户取消拍照),我希望标签栏再次显示。在我的viewWillAppear
方法中,我有以下内容:
//In PhotoInboxViewController
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
if ([[[self tabBarController] tabBar] isHidden]){
self.tabBarController.tabBar.hidden = NO;
}
}
在调试中,我看到if
语句确实被评估为tabBar为isHidden
,因此也会执行下一行。但是,我的标签栏仍然隐藏。
我做错了什么?感谢您的帮助 - 谢谢!
答案 0 :(得分:1)
您不需要隐藏标签栏。在以模态方式呈现时,您应该从全屏/根视图控制器中呈现。在这种情况下,标签栏控制器,而不是其中一个选项卡中的视图控制器。这样可以使演示文稿正常工作而不会产生任何奇怪的副作用。