美文网首页Xcode常用开发技巧
使用MMDrawerController以TabBarContr

使用MMDrawerController以TabBarContr

作者: Zomfice | 来源:发表于2016-07-02 16:12 被阅读863次

    (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;

    相关文章

      网友评论

      • 睥睨苍穹:tableBar 里面的控制器滑动结束出现左视图的时候,怎么点击和滑动不会复原啊?
      • 1b47986ec341:这样的话只能在tabbar的第一个视图进行左边菜单的push了, 请问有办法在tabbar的每个页面左滑后,点击tableview都可以push么
        KFC是做基的:UITabBarController 有个属性 是 selectedViewController , 能取出当前选中的视图
        Zomfice:UITabBarController * nav = (UITabBarController*)self.mm_drawerController.centerViewController;
        UINavigationController *vc = nav.viewControllers[0];
        你看这个我只取了第一个TabBar按钮的第一个视图,如果说你在电视TabBar视图里面写一个Block或代理,来更新VC 。
      • bb5a02957ae7:MyTabBarController是什么
      • HonBoom:谢谢你的喜欢,一起加油哦!~

      本文标题:使用MMDrawerController以TabBarContr

      本文链接:https://www.haomeiwen.com/subject/qzuqjttx.html