【问题标题】:How to automatically launch SWRevealViewController view如何自动启动 SWRevealViewController 视图
【发布时间】:2015-08-19 08:33:08
【问题描述】:

我想在到达我的视图后在我的 SWRevealViewController 视图上自动启动。

例如,我在 SWRevealViewController 上,然后在另一个视图上。如果我想回去,我想继续我以前的状态:后视图中的 SWRevealViewController。

当我尝试过时,我已经做到了:

if (myPreviousVC == "editProfile")
{
     UIApplication.sharedApplication().sendAction(menuButton.action, to: menuButton.target, from: self, forEvent: nil)
}

这段代码只是按下我的 menuButton 来启动我的 SWRevealViewController。

但我不喜欢这种方式,我想知道是否有办法在我到达前视图时启动我的 SWRevealViewController。

【问题讨论】:

    标签: swift swrevealviewcontroller


    【解决方案1】:

    您必须在情节提要中使用转场 sw_frontsw_rear。为此:

    1. 在情节提要中添加一个 UIViewController 作为 SWRevealViewController。

    2. 为您的菜单控制器添加一个自定义 segue 为 sw_rearSWRevealViewControllerSetSegue

    3. 将您的第一个 ViewController 链接为 sw_front 也链接为 SWRevealViewControllerSetSegue

    有了这个,它将适用于第一个视图

    如果您希望所有视图都将菜单设置为 SWRevealViewController,则必须使用 UINavigationControllers(如果需要,请在情节提要中),然后将菜单控制器中的 segue 链接为 SWRevealViewControllerPushSegue 并且没有标识符到相应的UINavigationController.

    【讨论】:

    • 你没有问这个问题。我的 SWRevealViewController 工作正常,我只想知道如何用代码触发它。
    【解决方案2】:

    我找到了答案。

    原来是这样的:

    if (myVariable == "stuff")
        {
            self.revealViewController().revealToggleAnimated(true)
            self.revealViewController().setFrontViewController(self, animated: true)
        }
    

    有人可以把这个答案写成“接受”吗?

    【讨论】:

      猜你喜欢
      • 2017-11-28
      • 2015-01-02
      • 1970-01-01
      • 2014-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多