PhotoInboxViewController

PhotoInboxViewController

我目前有两个视图控制器,一个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,因此也执行了下一行。但是,我的标签栏仍处于隐藏状态。

我做错了什么?感谢您的帮助-谢谢!

最佳答案

您不需要隐藏标签栏。模态呈现时,您应该从全屏/根视图控制器呈现。在这种情况下,选项卡栏控制器(而不是视图控制器)位于选项卡之一中。这样可以使演示文稿正常工作,而不会产生任何奇怪的副作用。

08-06 04:09