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