如何删除 SWRevealViewController 添加的导航选项卡?
How do I remove navigation tab added by SWRevealViewController?
我在 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];
...没有效果。
完成这道题后,我尝试了一个最终测试。
[mainView.navigationController setNavigationBarHidden:YES];
这成功了。似乎在将 mainView 嵌入 SWRevealViewController 的过程中,某些东西导致 mainView 本身的导航栏变得可见,即使默认情况下它是不可见的。
由于您的前视图是 mainView
,您将使用
[mainView.navigationController setNavigationBarHidden:YES];
希望对您有所帮助。
我在 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];
...没有效果。
完成这道题后,我尝试了一个最终测试。
[mainView.navigationController setNavigationBarHidden:YES];
这成功了。似乎在将 mainView 嵌入 SWRevealViewController 的过程中,某些东西导致 mainView 本身的导航栏变得可见,即使默认情况下它是不可见的。
由于您的前视图是 mainView
,您将使用
[mainView.navigationController setNavigationBarHidden:YES];
希望对您有所帮助。