【问题标题】:SWRevealViewController - front view under rear viewSWRevealViewController - 后视图下的前视图
【发布时间】:2015-07-03 05:07:15
【问题描述】:

我正在使用库 SWRevealViewController 进行前视图和后视图,它可以工作。 问题是,当我点击菜单按钮时,后视图在导航栏下方,而前视图向右移动。

是否可以锁定前视图并查看导航栏顶部的菜单?

我的代码:

在 Appdelegate 中:

UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window = window;

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];

    SplashScreenViewController *splashScreenViewController = (SplashScreenViewController *)[storyboard  instantiateViewControllerWithIdentifier:@"splash"];
    UINavigationController *navControllerFront = [[UINavigationController alloc]initWithRootViewController:splashScreenViewController];

    MenuNavigationViewController *menuViewController = (MenuNavigationViewController *)[storyboard  instantiateViewControllerWithIdentifier:@"menu"];
    UINavigationController *navControllerRear = [[UINavigationController alloc]initWithRootViewController:menuViewController];


    SWRevealViewController *revealController = [[SWRevealViewController alloc] initWithRearViewController:navControllerRear frontViewController:navControllerFront];

    revealController.delegate = self;
    self.viewController = revealController;
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];

FrontView 文件(不是闪屏):

SWRevealViewController *revealController = [self revealViewController];
   [revealController panGestureRecognizer];
    [revealController tapGestureRecognizer];

    UINavigationController* navController = (UINavigationController*)self.revealViewController.frontViewController;
    [navController setNavigationBarHidden:NO animated:YES];

    UIBarButtonItem *revealButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"menu.png"] style:UIBarButtonItemStylePlain target:revealController action:@selector(revealToggle:)];
    revealButtonItem.image = [revealButtonItem.image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    self.navigationItem.leftBarButtonItem = revealButtonItem;

如何解决问题?

非常感谢

编辑:我已经在“didFinishLaunchingWithOptions”方法中使用此代码解决了

SWRevealViewController *revealViewController = (SWRevealViewController *)self.window.rootViewController;

    UINavigationController* navController = (UINavigationController*)revealViewController.frontViewController;

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];

    NewSplashScreenViewController *start = (NewSplashScreenViewController *)[storyboard instantiateViewControllerWithIdentifier:@"splashnew"];
    [navController setViewControllers: @[start] animated: YES];

    [revealViewController setFrontViewController:navController];
    [revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];

【问题讨论】:

  • 你解决过这个问题吗?
  • 我添加了解决问题的代码(对我而言)
  • 嗨,这个问题你解决了吗?

标签: xcode menu swrevealviewcontroller


【解决方案1】:

我对这个问题没有明确的答案,但我需要在我的项目中实现相同的功能。

SWRevealController 的作者坚持使用一种方法来实现此功能。我还在努力。

链接是:https://github.com/John-Lluch/SWRevealViewController/issues/312

我猜人们仍然无法弄清楚到底该怎么做。

【讨论】:

    猜你喜欢
    • 2014-04-12
    • 2014-06-30
    • 2015-07-01
    • 2017-05-24
    • 2017-01-16
    • 2016-05-24
    • 2017-01-19
    • 2017-08-22
    • 2014-05-01
    相关资源
    最近更新 更多