【问题标题】:SWRevealViewController and other view controllersSWRevealViewController 和其他视图控制器
【发布时间】:2016-03-31 16:27:00
【问题描述】:

在我的应用程序中,我使用SWRevealViewController 作为侧边菜单,并且设置正确。我的问题是,从一个有侧边菜单的视图控制器,我有一个转场去另一个不使用 SWRevealViewController 的视图控制器。然后返回到 SWRevealViewController。 (测验控制器)。由于某种原因,菜单按钮停止显示菜单。这是正在发生的事情:

(抱歉画质不好,用quicktime录制,然后在线转gif)。

这是我的故事板布局:

到测验控制器的 segue 是 push。

我怎样才能让按钮工作?

【问题讨论】:

    标签: ios objective-c xcode sidebar swrevealviewcontroller


    【解决方案1】:

    我不久前想出了答案。您所要做的就是为您的原始控制器创建一个展开转场。如果您不知道如何执行此操作,请继续。

    • 将 unwind 方法添加到您的原始控制器中

    我的控制器叫QuizViewController,你的可能不一样。

    // In QuizViewController.m
    ...
    - (void)unwindToQuiz:(UIStoryboardSegue *)segue
    {
        // Get data from sender by segue.sourceViewController
    }
    

    这个方法会在segue发生的时候被调用,这里的代码类似于prepareForSegue方法。

    • 接下来在情节提要中创建转场

    在控制器中,您从视图控制器中按右键单击拖动(控制单击)以退出并选择您的 -unwindToQuiz 方法。

    现在从侧边栏中选择您的转场,然后为转场添加标识符。

    **提示:如果您不想以编程方式启动 segue,请从 UI 元素(如 UIButton)拖动并退出。不需要标识符)。

    要启动 segue,请执行 `[self performSegueWithIdentifier:@"yourIdentfier" sender:self];

    你就完成了!它不适用于推送,因为 revealViewController 属性变为 nil

    【讨论】:

      猜你喜欢
      • 2014-06-30
      • 1970-01-01
      • 2015-04-09
      • 2017-12-31
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多