抽屉栏

首先倒入如下文件

#import "AppDelegate.h"
#import "MainViewController.h"
#import "LeftViewController.h"
#import "MMDrawerController.h"
#import "MMExampleDrawerVisualStateManager.h"
#import "RightTableViewController.h"

在appdelegate里面

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.

    //根控制器
    MainViewController *main = [[MainViewController alloc]initWithNibName:@"MainViewController" bundle:nil];

    //导航控制器
    UINavigationController *NC = [[UINavigationController alloc]initWithRootViewController:main];


    LeftViewController *leftVC = [[LeftViewController alloc]initWithNibName:@"LeftViewController" bundle:nil];

    RightTableViewController *rightVC = [[RightTableViewController alloc]initWithNibName:@"RightTableViewController" bundle:nil];

   // MMDrawerController *drawerController = [[MMDrawerController alloc] initWithCenterViewController:NC leftDrawerViewController:leftVC];


    //用MMDrawerController 把导航控制器 包装成一个子控制器
    MMDrawerController *drawerController = [[MMDrawerController alloc]initWithCenterViewController:NC leftDrawerViewController:leftVC rightDrawerViewController:rightVC];


    //设置抽屉栏的抽出的宽度
    [drawerController setMaximumLeftDrawerWidth:243];
    [drawerController setMaximumRightDrawerWidth:243];

    //关闭和打开抽屉栏方式
    [drawerController setCloseDrawerGestureModeMask:MMCloseDrawerGestureModeAll];
    [drawerController setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeNone];

    //设置抽屉控制器的alpha从0到1的动画效果 没有这写代码 就没有那些效果
    [drawerController
     setDrawerVisualStateBlock:^(MMDrawerController *drawerController, MMDrawerSide drawerSide, CGFloat percentVisible)
     {
         MMDrawerControllerDrawerVisualStateBlock block;
         //单例
         block = [[MMExampleDrawerVisualStateManager sharedManager]
                  drawerVisualStateBlockForDrawerSide:drawerSide];
         if(block)
         {
             block(drawerController, drawerSide, percentVisible);
         }
     }];
    self.window.rootViewController = drawerController;

    return YES;
}
在主界面上的左右按钮,用来促发左右抽屉
-(void)initButtonView{

    // Do any additional setup after loading the view from its nib.
    /**
     *  初始化拉开左抽屉栏的按钮
     */
    UIButton *leftBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    leftBtn.frame = CGRectMake(0, 0, 60, 30);
    [leftBtn setTitle:@"左抽屉" forState:UIControlStateNormal];
    [leftBtn setTintColor:[UIColor redColor]];
    [leftBtn setBackgroundColor:[UIColor redColor]];
    //[leftBtn setImage:[UIImage imageNamed:@"bar_user@2x"] forState:UIControlStateNormal];
    [leftBtn addTarget:self action:@selector(btn_leftBtn) forControlEvents:UIControlEventTouchUpInside];
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftBtn];



    /**
     *  初始化拉开右抽屉栏的按钮
     */
    UIButton *rightBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    rightBtn.frame = CGRectMake(self.navigationController.navigationBar.frame.size.width - 30, 0, 60, 30);
    [rightBtn setTitle:@"右抽屉" forState:UIControlStateNormal];
    [rightBtn setTintColor:[UIColor redColor]];

    [rightBtn setBackgroundColor:[UIColor redColor]];
    //[leftBtn setImage:[UIImage imageNamed:@"bar_user@2x"] forState:UIControlStateNormal];
    [rightBtn addTarget:self action:@selector(btn_rightBtn) forControlEvents:UIControlEventTouchUpInside];
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightBtn];


}

- (void)btn_leftBtn
{
    [self.mm_drawerController toggleDrawerSide:MMDrawerSideLeft animated:YES completion:nil];
}


-(void)btn_rightBtn{
    [self.mm_drawerController toggleDrawerSide:MMDrawerSideRight animated:YES completion:nil];

}
上图吧

这里写图片描述

这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值