我正试图让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
答案 0 :(得分:7)
application:didFinishLaunchingWithOptions:
。将MMDrawerController属性添加到您的app委托,使用适当的视图初始化抽屉控制器,并将抽屉控制器设置为UIWindow上的rootViewController
。这样做,同时设置手势模式,如下所述,抽屉应该工作。
要获得基本的打开/关闭手势,请在抽屉控制器上设置此属性:
self.drawerController.openDrawerGestureModeMask = MMOpenDrawerGestureModeAll;
self.drawerController.closeDrawerGestureModeMask = MMCloseDrawerGestureModeAll;
这些属性默认为MMOpenDrawerGestureModeNone
,这就是您无法进行任何滑动的原因。如果需要,您可以查看MMOpenDrawerGestureMode和MMCloseDrawerGestureMode位掩码以获得更精细的粒度设置。
您还可以通过调用toggleDrawerSide:
animated:
completion:
创建用于切换抽屉的UI控件。