如何让SWRevealViewController覆盖主视图不推呢?

时间:2017-01-16 06:57:27

标签: swift3 customization ios10 swrevealviewcontroller

我正在关注本教程Customize your SWRevealViewController slide-out menu

这是应用程序的布局,这是SWReveal如何推送主视图

但Gmail的工作方式是覆盖像这张照片的主视图

enter image description here

我想知道我是否可以使用SWRevealViewController覆盖像Gmail应用程序这样的主视图以及如何操作这个silde-out菜单?

3 个答案:

答案 0 :(得分:0)

假设只剩下左侧菜单部分并且按钮上的菜单正在滑动。

按照以下步骤操作:

  1. UIViewController
  2. 中选择新的storyboard
  3. 这样做   a)添加大小为UIView的新UIViewController(表示为viewBG)。   b)现在转到属性并根据您减少viewBG不透明度,不要使用alpha值。   c)再看一下左侧菜单(viewMenu)。

  4. menuVC添加为MainVC的儿童VC。

  5. 现在,当您想要显示菜单时,请使用以下行代码。
  6. menuVC.view.frame = CGRect(x : -self.view.frame.size.width, y : 0, width : menuVC.view.frame.size.width, height: self.view.frame.size.height) UIView.animate(withDuration: 0.5) { menuVC.view.frame = CGRect(x : 0, y : 0, width : menuVC.view.frame.size.width, height: self.view.frame.size.height) }

    1. 删除菜单
    2. menuVC.view.frame = CGRect(x : 0, y : 0, width : menuVC.view.frame.size.width, height: self.view.frame.size.height) UIView.animate(withDuration: 0.5) { menuVC.view.frame = CGRect(x : -self.view.frame.size.width, y : 0, width : menuVC.view.frame.size.width, height: self.view.frame.size.height) }

      HOPE:您可以为视图提供约束。

答案 1 :(得分:0)

答案 2 :(得分:0)

方法是将“主”视图控制器设置为rearViewController(静态,不移动),将“侧栏”设置为frontViewController(在顶部滑动,可选择透明)。根据我对你想要实现的目标的理解,这就是你所需要的。