繁体   English   中英

隐藏导航栏,显示导航栏

[英]Hide navigationBar, Show navigationBar

我遇到了一个问题。 首先,来自A​​ppDelegate的一些代码。

 - (void)HideMainNavigationBar{
navigCtrl.navigationBarHidden = YES;
}

- (void)ShowMainNavigationBar{
navigCtrl.navigationBarHidden = NO;
}

navigCtrl是我的导航控制器。 在我的其他View Controller中,我需要隐藏我的navigationBar,然后将其显示以正确显示。

- (void) moviePlayerWillExitFullScreen:(id)sender {
   NSLog(@"exitfullscreen");
   AppDelegate *ptr = [AppDelegate SharedAppDelegate];
   [ptr HideMainNavigationBar];
   [ptr ShowMainNavigationBar];
}

之后,我看到了“返回”按钮,而不是自定义的tabBarButton:

在此处输入图片说明

点击ob后退按钮后,它消失了,并且使用自定义按钮再次看到了我的navigationBar。 可以,在iOS 5.1中的iOS 5.1中检测到此“错误”。

这让我发疯,请帮助。

PS我知道,我可以使用:

self.navigationController.navigationBar.frame = CGRectMake(0, 20, self.navigationController.navigationBar.frame.size.width, self.navigationController.navigationBar.frame.size.height);

正确显示navigationBar,但在旋转VideoPlayer时需要显示/隐藏navigationBar使其隐藏。

有任何想法吗? 等待您的回答,谢谢。

因此,经过一些操作,我决定将alpha设置为我的navigationBar。

if (SYSTEM_VERSION_LESS_THAN(@"5"))  
            [ptr HideMainNavigationBar];
else self.navigationController.navigationBar.alpha = 0;

我希望这对某人有用。 再见。

我刚刚在github上发布了专门用于UINavigationBar外观管理的代码。 签出RRViewControllerExtension ,它将优雅地解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM