我遇到了一个问题。首先是来自AppDelegate的一些代码。
- (void)HideMainNavigationBar{
navigCtrl.navigationBarHidden = YES;
}
- (void)ShowMainNavigationBar{
navigCtrl.navigationBarHidden = NO;
}navigCtrl是我的导航控制器。在我的另一个视图控制器中,我需要隐藏我的navigationBar,然后显示它,以便正确地显示它。
- (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‘,一切正常。
这让我发疯,请帮帮忙。
附言:我知道,我可以使用:
self.navigationController.navigationBar.frame = CGRectMake(0, 20, self.navigationController.navigationBar.frame.size.width, self.navigationController.navigationBar.frame.size.height);要正确显示navigationBar,但我需要显示/隐藏navigationBar以隐藏它,同时旋转VideoPlayer。
有什么想法吗?等待你的回答,谢谢。
发布于 2012-08-24 15:33:28
因此,经过一些操作之后,我决定简单地将alpha设置为我的navigationBar。
if (SYSTEM_VERSION_LESS_THAN(@"5"))
[ptr HideMainNavigationBar];
else self.navigationController.navigationBar.alpha = 0;我希望它能对某些人有用。再见。
发布于 2018-09-27 09:15:53
我刚刚在github上发布了专门用于UINavigationBar外观管理的代码。查看RRViewControllerExtension,它将优雅地解决您的问题。
https://stackoverflow.com/questions/12093899
复制相似问题