使用MMDrawerController以TabBarController为中心视图实现抽屉效果
2016-07-02 16:10
561 查看
(1) MMDrawerController下载地址https://github.com/mutualmobile/MMDrawerController
(2)使用MMDrawerController以TabBarController为中心视图,实现左视图静态cell可以push到对应界面。
(3)问题:遇到的问题是,当以左抽屉为根视图push的时候,会出现不能满屏,center视图依然存在一部分,解决push满屏的情况,就需要以center视图为基础进行push,但是center视图主要是NavigationController如果以 UINavigationController * nav = (UINavigationController)self.mm_drawerController.centerViewController;这种方法去接收中心视图的话,就会出现问题,因为此时的中心视图TabBarController,用下面代码中的方法分部接受中心视图,就可以实现MMDrawerController抽屉第三方库可以基于TabBarController实现抽屉。QQ抽屉的效果就可以实现
1.首先在AppDelegate中导入#import "MMDrawerController.h"
2.//中心视图
MyTabBarController * myTabBar = [[MyTabBarController alloc]init];
//左边抽屉
MyViewController * myVC = [[MyViewController alloc]init];
UINavigationController * myNav = [[UINavigationController alloc]initWithRootViewController:myVC];
MMDrawerController * drawerVC = [[MMDrawerController alloc]initWithCenterViewController:self.myTabBar leftDrawerViewController:myNav];
3.在左边抽屉的ViewController下导入#import "UIViewController+MMDrawerController.h"
4.UITabBarController * nav = (UITabBarController*)self.mm_drawerController.centerViewController;
UINavigationController *vc = nav.viewControllers[0];
AboutViewController *about = [[AboutViewController alloc]init];
[vc pushViewController:about animated:NO];
[self.mm_drawerController closeDrawerAnimated:YES completion:^(BOOL finished) {
[self.mm_drawerController setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeNone];
}];
5.针对不想要左右抽屉手势的功能,直接实现点击弹出抽屉功能,可以将抽屉的手势设置为没有手势即可
//设置打开和关闭手势
drawerVC.openDrawerGestureModeMask = MMOpenDrawerGestureModeNone;
drawerVC.closeDrawerGestureModeMask = MMOpenDrawerGestureModeNone;
(2)使用MMDrawerController以TabBarController为中心视图,实现左视图静态cell可以push到对应界面。
(3)问题:遇到的问题是,当以左抽屉为根视图push的时候,会出现不能满屏,center视图依然存在一部分,解决push满屏的情况,就需要以center视图为基础进行push,但是center视图主要是NavigationController如果以 UINavigationController * nav = (UINavigationController)self.mm_drawerController.centerViewController;这种方法去接收中心视图的话,就会出现问题,因为此时的中心视图TabBarController,用下面代码中的方法分部接受中心视图,就可以实现MMDrawerController抽屉第三方库可以基于TabBarController实现抽屉。QQ抽屉的效果就可以实现
1.首先在AppDelegate中导入#import "MMDrawerController.h"
2.//中心视图
MyTabBarController * myTabBar = [[MyTabBarController alloc]init];
//左边抽屉
MyViewController * myVC = [[MyViewController alloc]init];
UINavigationController * myNav = [[UINavigationController alloc]initWithRootViewController:myVC];
MMDrawerController * drawerVC = [[MMDrawerController alloc]initWithCenterViewController:self.myTabBar leftDrawerViewController:myNav];
3.在左边抽屉的ViewController下导入#import "UIViewController+MMDrawerController.h"
4.UITabBarController * nav = (UITabBarController*)self.mm_drawerController.centerViewController;
UINavigationController *vc = nav.viewControllers[0];
AboutViewController *about = [[AboutViewController alloc]init];
[vc pushViewController:about animated:NO];
[self.mm_drawerController closeDrawerAnimated:YES completion:^(BOOL finished) {
[self.mm_drawerController setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeNone];
}];
5.针对不想要左右抽屉手势的功能,直接实现点击弹出抽屉功能,可以将抽屉的手势设置为没有手势即可
//设置打开和关闭手势
drawerVC.openDrawerGestureModeMask = MMOpenDrawerGestureModeNone;
drawerVC.closeDrawerGestureModeMask = MMOpenDrawerGestureModeNone;
相关文章推荐
- javaScript中push函数用法实例分析
- jquery中push()的用法(数组添加元素)
- perl push的用法及子程序返回值的反思
- JavaScript模拟push
- javascript使用数组的push方法完成快速排序
- JavaScript使用push方法添加一个元素到数组末尾用法实例
- JavaScript数组函数unshift、shift、pop、push使用实例
- Android抽屉导航Navigation Drawer实例解析
- Android 用adb pull或push 拷贝手机文件到到电脑上,拷贝手机数据库到电脑上,拷贝电脑数据库到手机上
- 简介JavaScript中的push()方法的使用
- 浅谈JavaScript的push(),pop(),concat()方法
- Android提高之多方向抽屉实现方法
- ios仿侧边抽屉效果实现代码
- 通过 Push 来提高移动应用的活跃度 3ff0
- Eclipse中Pull参数问题
- Git使用入门 - 在Git上新建项目
- Docker 批量push脚本
- 基于dwr2.0的Push推送技术详细解析以及实例
- 浅谈JavaScript的push(),pop(),concat()方法
- TabBarController与NavigationController嵌套的例子