MMDrawerController入门

Cli*_*rum 3 objective-c ios

我想让MMDrawerController工作,我遇到了麻烦.

这是我的故事板中构建了多少应用程序:

在此输入图像描述

这是我试图从我的根视图控制器中初始化它的方式:

//LCViewController.m

#import "LCViewController.h"
#import "MMDrawerController.h"

@interface LCViewController ()
  @property (nonatomic,strong) MMDrawerController * drawerController;
@end

@implementation LCViewController

- (void)viewDidLoad
{
  [super viewDidLoad];

  self.drawerController = [[MMDrawerController alloc]
                           initWithCenterViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"centerNav"]
                           leftDrawerViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"menu"]
                           rightDrawerViewController:nil];
}

...

@end
Run Code Online (Sandbox Code Playgroud)

当我构建我的应用程序时,我看到的只是我的根视图控制器.我还应该做些什么来实现抽屉功能吗?

我创建了一个演示项目来展示我是如何设置我的应用程序的.您可以在此处下载Xcode工作区.在此先感谢您的帮助!

我正在使用Xcode 5和iOS 7

Pat*_*ley 7

编辑:对不起,我最初误解了你的应用程序结构.MMDrawerController应该是应用程序的根视图控制器.您应该将此代码从viewDidLoad移动到application:didFinishLaunchingWithOptions:.将MMDrawerController属性添加到您的app委托,使用适当的视图初始化抽屉控制器,并将抽屉控制器设置为rootViewControllerUIWindow上的控件.这样做,同时设置手势模式,如下所述,抽屉应该工作.

要获得基本的打开/关闭手势,请在抽屉控制器上设置此属性:

self.drawerController.openDrawerGestureModeMask = MMOpenDrawerGestureModeAll;
self.drawerController.closeDrawerGestureModeMask = MMCloseDrawerGestureModeAll;
Run Code Online (Sandbox Code Playgroud)

这些属性默认为MMOpenDrawerGestureModeNone无法进行任何滑动的原因.如果需要,您可以查看MMOpenDrawerGestureMode和MMCloseDrawerGestureMode位掩码以获得更精细的粒度设置.

您还可以创建通过调用切换抽屉的UI控件toggleDrawerSide: animated: completion:.