我正在尝试在我的应用程序中使用 MMDrawerController,但我无法通过中心视图上的手势关闭侧抽屉。我在我的应用程序的其他地方使用了 MMDrawerController 并取得了巨大的成功,但无法弄清楚为什么它在这种情况下不起作用。
顶层视图控制器是一个 UINavigationController,它的默认视图控制器是 MasterViewController(源代码如下)。这个类扩展了 MMDrawerController 并配置了我想要的视图(中心和右边,关闭手势,最大宽度)。中心视图有一个打开抽屉的按钮。一旦抽屉打开,我就无法用中央视图上的手势关闭它。我在抽屉中添加了一个按钮,它可以以编程方式关闭抽屉,但我需要能够在中心视图上进行制表符/平移。
类 MasterViewController:MMDrawerController {
override func viewDidLoad() {
let centerView = storyboard!.instantiateViewControllerWithIdentifier("CenterControllerName") as? CenterControllerType
super.setCenterViewController(centerView, withCloseAnimation: false, completion: nil)
let drawer = storyboard!.instantiateViewControllerWithIdentifier("Drawer") as? DrawerType
super.rightDrawerViewController = drawer
super.setMaximumRightDrawerWidth(200, animated: true, completion: nil)
super.closeDrawerGestureModeMask = MMCloseDrawerGestureMode.PanningCenterView | MMCloseDrawerGestureMode.TapCenterView
}
}
打开抽屉的功能:
@IBAction func drawerButtonPressed(sender: AnyObject) {
drawer?.openDrawerSide(MMDrawerSide.Right, animated: true, completion: nil)
}