首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐藏navigationBar,显示navigationBar

隐藏navigationBar,显示navigationBar
EN

Stack Overflow用户
提问于 2012-08-23 22:25:16
回答 2查看 1.6K关注 0票数 0

我遇到了一个问题。首先是来自AppDelegate的一些代码。

代码语言:javascript
复制
 - (void)HideMainNavigationBar{
navigCtrl.navigationBarHidden = YES;
}

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

navigCtrl是我的导航控制器。在我的另一个视图控制器中,我需要隐藏我的navigationBar,然后显示它,以便正确地显示它。

代码语言:javascript
复制
- (void) moviePlayerWillExitFullScreen:(id)sender {
   NSLog(@"exitfullscreen");
   AppDelegate *ptr = [AppDelegate SharedAppDelegate];
   [ptr HideMainNavigationBar];
   [ptr ShowMainNavigationBar];
}

在那之后,我看到的不是我的自定义tabBarButton,而是Back按钮:

点击ob后退按钮后,它消失了,我再次看到我的navigationBar与我的自定义按钮。在iOS 4.3.2上的iOS 5.1中检测到此'bug‘,一切正常。

这让我发疯,请帮帮忙。

附言:我知道,我可以使用:

代码语言:javascript
复制
self.navigationController.navigationBar.frame = CGRectMake(0, 20, self.navigationController.navigationBar.frame.size.width, self.navigationController.navigationBar.frame.size.height);

要正确显示navigationBar,但我需要显示/隐藏navigationBar以隐藏它,同时旋转VideoPlayer。

有什么想法吗?等待你的回答,谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-24 15:33:28

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

代码语言:javascript
复制
if (SYSTEM_VERSION_LESS_THAN(@"5"))  
            [ptr HideMainNavigationBar];
else self.navigationController.navigationBar.alpha = 0;

我希望它能对某些人有用。再见。

票数 0
EN

Stack Overflow用户

发布于 2018-09-27 09:15:53

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

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12093899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档