抽屉效果MMDrawerController第三方框架基本使用说明

这里讲的实例只加入了左滑抽屉。右滑和左滑只是初始化时多添加一个右视图控制器,其他方法基本相同。

下面是用手势实现抽屉的拉出和收回

1.初始化跟视图控制器时,在AppDelegate中导入头文件

#import "MMDrawerController.h"

2.初始化方法先初始化左视图和中心视图,也就是图中的

BoutiqueCollectionViewController

LeftDrawerTableViewController

3.初始化完两个子视图控制器后,初始化抽屉根视图控制器MMDrawerController,初始化抽屉控制器时需要将左视图控制器和中心视图控制器添加到抽屉视图控制器上。

    //CollectionView的样式
    UICollectionViewFlowLayout * flowLayout = [[UICollectionViewFlowLayout alloc] init];

    //初始化中心视图
    BoutiqueCollectionViewController * boutiqueCVC = [[BoutiqueCollectionViewController alloc] initWithCollectionViewLayout:flowLayout];
    boutiqueCVC.collectionView.backgroundColor = [UIColor whiteColor];
    UINavigationController * boutiqueNC = [[UINavigationController alloc] initWithRootViewController:boutiqueCVC];

    //初始化左视图
    LeftDrawerTableViewController * leftTVC = [[LeftDrawerTableViewController alloc] init];
    UINavigationController * leftNC = [[UINavigationController alloc] initWithRootViewController:leftTVC];

    //初始化抽屉视图 控制器
    MMDrawerController * drawerController = [[MMDrawerController alloc] initWithCenterViewController:boutiqueNC leftDrawerViewController:leftNC];

    //设置抽屉抽出的 宽度
    drawerController.maximumLeftDrawerWidth = 200;

4.初始化完成之后添加滑动手势,通过滑动手势拉出和收回抽屉。手势 封装 在第三方类库中,程序如下。

    //滑动手势快关抽屉
    [drawerController setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeAll];
    [drawerController setCloseDrawerGestureModeMask:MMCloseDrawerGestureModeAll];

    self.window.rootViewController = drawerController;

到此,将抽屉根视图控制器添加到window的根视图控制器上,运行程序,就可以实现用手势来控制抽屉的拉出和收回。



如果需要用按钮控制拉出和收回抽屉,需要加上下面的部分。


1.在中心视图 控制器 中添加头文件

#import "UIViewController+MMDrawerController.h"//第三方封装的头文件
#import "MMDrawerBarButtonItem.h"//第三方 封装 的头文件
#import "LeftDrawerTableViewController.h"、、左视图头文件

2.在viewDidLoad中实现添加左抽屉控制按钮的方法

[self setupLeftMenuButton];//在viewDidLoad中实现添加左抽屉 控制按钮 的方法

3.在下面实现添加按钮的方法

-(void)setupLeftMenuButton
{
    //创建按钮
    MMDrawerBarButtonItem * leftDrawerButton = [[MMDrawerBarButtonItem alloc] initWithTarget:self action:@selector(leftDrawerButtonPress:)];

     //为navigationItem添加LeftBarButtonItem
    [self.navigationItem setLeftBarButtonItem:leftDrawerButton animated:YES];
}

4.在下面实现抽屉按钮的动作方法。

//抽屉按钮动作
-(void)leftDrawerButtonPress:(id)sender
{
    //开关左抽屉
    [self.mm_drawerController toggleDrawerSide:MMDrawerSideLeft animated:YES completion:nil];
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值