程序员人生 网站导航

iOS抽屉效果

栏目:互联网时间:2014-11-07 08:33:25

源码下载

抽屉效果第3方类库下载

所需第3方类库下载

侧拉栏抽屉效果图

        


需要导入的头文件:

#import "MMDrawerController.h" #import "MMExampleDrawerVisualStateManager.h"
代码实现:

首先需要创建3个试图控制器

//主视图 FirstViewController *firstVC = [[FirstViewController alloc] init]; //左侧视图 SecondViewController *secondVC = [[SecondViewController alloc] init]; //右侧视图 ThirdViewController *thirdVC = [[ThirdViewController alloc] init]; CustomizedNavigationController *navigationVC = [[CustomizedNavigationController alloc] initWithRootViewController:firstVC]; CustomizedNavigationController *leftNavigationVC = [[CustomizedNavigationController alloc] initWithRootViewController:secondVC]; CustomizedNavigationController *rightNavigationVC = [[CustomizedNavigationController alloc] initWithRootViewController:thirdVC]; //抽屉管理 第3方 //该第3方既可以只实现打开左边栏也能够实现打开右边栏,还可以同时都实现 MMDrawerController *rooVC = [[MMDrawerController alloc] initWithCenterViewController:navigationVC leftDrawerViewController:leftNavigationVC rightDrawerViewController:rightNavigationVC]; //只实现打开左边栏 //MMDrawerController *rooVCLeft = [[MMDrawerController alloc] initWithCenterViewController:navigationVC leftDrawerViewController:firstVC]; //只实现打开右边栏 //MMDrawerController *rooVCRight = [[MMDrawerController alloc] initWithCenterViewController:navigationVC rightDrawerViewController:thirdVC]; //指定window的根视图 self.window.rootViewController = rooVC; //测了门的宽度 [rooVC setMaximumLeftDrawerWidth:270]; //设置侧拉门开与关的动画 [rooVC setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeAll]; [rooVC setCloseDrawerGestureModeMask:MMCloseDrawerGestureModeAll]; //侧开内容展现效果 //设置向左滑动打开右边栏 [[MMExampleDrawerVisualStateManager sharedManager] setRightDrawerAnimationType:MMDrawerAnimationTypeNone]; //设置向右滑动打开左边栏 [[MMExampleDrawerVisualStateManager sharedManager] setLeftDrawerAnimationType:MMDrawerAnimationTypeNone]; [rooVC setDrawerVisualStateBlock:^(MMDrawerController *drawerController, MMDrawerSide drawerSide, CGFloat percentVisible) { MMDrawerControllerDrawerVisualStateBlock block; block = [[MMExampleDrawerVisualStateManager sharedManager] drawerVisualStateBlockForDrawerSide:drawerSide]; if(block){ block(drawerController, drawerSide, percentVisible); } }];




------分隔线----------------------------
------分隔线----------------------------

最新技术推荐