我正在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];
......没有效果。
答案 0 :(得分:0)
完成这个问题后,我尝试了一个最终测试。
[mainView.navigationController setNavigationBarHidden:YES];
这很有用。似乎在将主视图嵌入SWRevealViewController的过程中导致mainView中的导航栏变得可见,即使默认情况下它不是。
答案 1 :(得分:0)
由于您的前视图为mainView
,您将使用
[mainView.navigationController setNavigationBarHidden:YES];
我希望这会有所帮助。