アプリケーションで MMDrawerController を使用しようとしていますが、中央のビューでジェスチャを使用してサイド ドロワーを閉じることができません。アプリの別の場所で MMDrawerController を使用して大きな成功を収めましたが、この場合に機能しない理由がわかりません。
最上位のビュー コントローラーは UINavigationController であり、そのデフォルトのビュー コントローラーは MasterViewController (以下のソース) です。このクラスは MMDrawerController を拡張し、必要なビューを構成します (中央と右、クローズ ジェスチャ、最大幅)。中央のビューには、引き出しを開くボタンがあります。引き出しが開いたら、中央のビューでジェスチャーで閉じることができません。ドロワーにボタンを追加し、プログラムでドロワーを閉じることができますが、中央のビューでタブ/パンできるようにする必要があります。
class 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)
}