我正在尝试让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

构建应用程序时,我所看到的只是我的根视图控制器。我还应该做些其他事情来实现抽屉功能吗?

我创建了一个演示项目,以演示如何尝试设置我的应用程序。您可以download the Xcode workspace here。在此先感谢您的帮助!

我正在使用Xcode 5和iOS 7

最佳答案

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

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

self.drawerController.openDrawerGestureModeMask = MMOpenDrawerGestureModeAll;
self.drawerController.closeDrawerGestureModeMask = MMCloseDrawerGestureModeAll;

这些属性默认为MMOpenDrawerGestureModeNone,这就是为什么您无法做任何幻灯片的原因。如果需要,可以查看MMOpenDrawerGestureMode和MMCloseDrawerGestureMode位掩码,以获得更精细的设置。

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

10-08 02:43