zoukankan      html  css  js  c++  java
  • 对抽屉效果几大github第三方库的调研

    在公司项目新版本方案选择中,对主导航中要使用的抽屉效果进行了调研。主要原因是旧的项目中所用的库ECS评价不是很好。现对当下比较火的几大热门抽屉效果的第三方库进行了调研。代码全部选自github

    如果你不是在董铂然博客园看到本文,请点击查看原文

    一.RESideMenu

    https://github.com/romaonthego/RESideMenu

        

    4300个星

    示例程序跑到30M,可能是因为里面有图片。

    支持iOS7+

    测试效果很好

    优点:

    1.里面的文件较少,不需要使用cocoapods即可运行。

    2.里面自定义API也比较多,可以设置变小的抽屉效果或者不变小。

    3.里面有两个事例程序,一个是纯手码,一个是Storyboard得。可见作者也非常喜欢IB开发,此框架用IB开发应该可以完美兼容。

    4.可以使用手势拖来拖去。

    5.项目里各个文件不需要继承,导入头文件就行。

     

    缺点:

    1.左边显示的菜单可选项是固定的几个button,暂时想把左边换成tableView还不知道可不可行。(现已解决,可以改)

    2.不能实现状态栏右移。(董铂然博客园)

    3.暂时没找到两边控制器的占比怎么自定义。(现已解决,可以改)

     

    二.Mutual Mobile Drawer Controller

    https://github.com/mutualmobile/MMDrawerController

    3100个星

    示例程序内存跑到15M

    iOS7+

    测试效果屌爆了。

    优点。

    1.里面有9个文件比上面的略多。但也还凑合吧

    2.虽然没有缩小抽屉的动画,但是在平向切入时,leftVC有几种转场动画可选。

    3.左边已经是tableVIew。

    4.自定义的接口挺多。

    5.作者最近还在更新

     

    缺点。

    1.相比于上面的,这个项目是用纯手码写的。

    2.现在有一个抽搐的小bug,不过感觉我应该能改好。

    3.在设置左右占比时,用的是固定数值,这样的话4s和6的手机界面显示是不一样的。(应该能改成百分比)

    4.依旧状态栏不能右移。

    5.项目内各个文件需要继承工具类。

     

    三.PPRevealSideViewController

    https://github.com/ipup/PPRevealSideViewController

    736星

    iOS6+

    测试效果一般。

    优点:

    1.支持iOS6

    2.基本的自定义也都是支持的。

    3.页面大部分是Storyboard搭建。

    4.导入头文件,而不是继承。

     

    缺点:

    1.也是支持iOS6,导致界面始终控制的必须有一个黑条。并且在切换的时候太低端了。

    2.除了自己的PPRSVC,还必须使用cocoapods依赖了另一个库,PPHelpMe。这个库有29个文件。

    3.手势支持做的不怎么好,能拉出来但不能拉回去。(董铂然博客园)

     

    四.SWRevealViewController

    https://github.com/John-Lluch/SWRevealViewController

        

    2100星

    非常干净的界面也没有图片,为什么内存会跑到28M?

    iOS7+

    测试的效果一般

    优点:

    1.使用的是导入头文件,而不是继承。

    2.非常干净,基本只有核心功能,只有两个文件一个.h一个.m

    3.可以实现三层抽屉。

    4.支持手势的各种操作。

    5.里面使用了不少xib文件。

    6.左右占比控制的很好。

     

    缺点:

    1.能够自定义的接口不是很多。(但改源码的话应该也不会很难)

    2.横屏时的屏幕适配需要再改进下。

    2.貌似没有缺点了。

    五.ECSlidingViewController (现在用的)

    https://github.com/ECSlidingViewController/ECSlidingViewController

    3500个星

    支持iOS5

    测试效果一般。

    优点:

    1.除了星多,貌似没有优点(和上面几个相比的话)

     

    缺点:

    1.用了13个文件,但是貌似只是实现了最基本的抽屉效果功能。

    2.缩在右边时还向右边拉,会产生bug。

    3.用的是继承。每个文件都要继承。

    4.去年8月以后就停止更新了。

     

    结果分析 

    暂时我更倾向于第一种,首先接口清晰,代码清晰,并且对项目的侵入性很小这事根本原因。目前也正在详细调研此库。

    (如果有使用过上述库,有其他观点的欢迎指点) 

  • 相关阅读:
    cf1131f 构造+并查集
    多源最短路小结
    bzoj2200拓扑排序+最短路+联通块
    cf478d 线性dp好题
    cf919D 线性dp+拓扑排序
    hiho1460 rmq模板题
    最小标示法模板 poj1509
    JAVA动态代理机制分析guide
    java动态代理(JDK和cglib)
    AOP面向切面编程
  • 原文地址:https://www.cnblogs.com/dsxniubility/p/4474940.html
Copyright © 2011-2022 走看看