0

我在我的 iOS 8.2 应用程序中使用的是 SWRevealViewController。它工作得很好,但是当我的视图显示时,一个磨砂的导航栏挂在屏幕顶部的状态栏下方。它覆盖了我的背景图像,我还没有找到一种简单的方法来删除它。

mainView = [[ViewController alloc] init];
sideMenu = [[MenuController alloc] init];

UINavigationController * frontViewController = [[UINavigationController alloc] initWithRootViewController:mainView];
UINavigationController * rearViewController = [[UINavigationController alloc] initWithRootViewController:sideMenu];

revealController = [[SWRevealViewController alloc] initWithRearViewController:rearViewController frontViewController:frontViewController];
revealController.delegate = mainView;

我搜索了 SWRevealViewController 代码,没有发现任何明显相关的东西。我尝试注释掉可疑的代码部分并查看结果。我隐藏了状态栏。什么都没碰它。

我已经尝试了几件事...

[frontViewController.navigationController setNavigationBarHidden:YES];
frontViewController.navigationController.navigationBar.frame = CGRectZero;
[frontViewController.navigationController.navigationBar setHidden:YES];

[revealController.navigationController setNavigationBarHidden:YES];
revealController.navigationController.navigationBar.frame = CGRectZero;
[revealController.navigationController.navigationBar setHidden:YES];
[revealController.navigationController.navigationBar setBounds:CGRectZero];

……没有效果。

4

2 回答 2

0

完成这个问题后,我尝试了一个最终测试。

[mainView.navigationController setNavigationBarHidden:YES];

这行得通。似乎在将 mainView 嵌入到 SWRevealViewController 的过程中,主视图本身的导航栏变得可见,尽管默认情况下它是不可见的。

于 2015-04-09T07:28:36.850 回答
0

由于您的前视图是mainView您将使用

[mainView.navigationController setNavigationBarHidden:YES];

我希望这有帮助。

于 2015-04-09T07:36:40.317 回答