首先感谢董铂然博客园,鄙人收藏学习之用,如有朋友看到.有需要请直接前往董铂然博客园本文, 请点击查看原文

在公司项目新版本方案选择中,对主导航中要使用的抽屉效果进行了调研。主要原因是旧的项目中所用的库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月以后就停止更新了。

结果分析

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

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

 
 

抽屉效果几大github第三方库的更多相关文章

  1. 对抽屉效果几大github第三方库的调研

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

  2. iOS详解MMDrawerController抽屉效果(一)

      提前说好,本文绝对不是教你如何使用MMDrawerController这个第三方库,因为那太多人写了 ,也太简单了.这篇文章主要带你分析MMDrawerController是怎么实现抽屉效果,明白 ...

  3. iOS側拉栏抽屉效果Demo

    源代码下载 側拉栏抽屉效果Demo  须要导入第三方的类库例如以下: 抽屉效果所需第三方类库下载 效果:既能够两側都实现抽屉效果也可仅仅实现左側栏或者右側栏的抽屉效果           waterm ...

  4. 【转】提示框第三方库之MBProgressHUD iOS toast效果 动态提示框效果

    原文网址:http://www.zhimengzhe.com/IOSkaifa/37910.html MBProgressHUD是一个开源项目,实现了很多种样式的提示框,使用上简单.方便,并且可以对显 ...

  5. iOS常用的第三方库GitHub地址

    MJRefresh https://github.com/CoderMJLee/MJRefresh#期待 Facebook-POP https://github.com/facebook/pop /* ...

  6. iOS开发常用第三方库

    UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...

  7. IOS常用第三方库《转》

    UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...

  8. iOS 第三方库、插件、知名博客总结

    iOS 第三方库.插件.知名博客总结 用到的组件 1.通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FMDB 本地数据库组件 SDWebImage 多个缩略图 ...

  9. iOS常用第三方库大全,史上最全第三方库收集

    下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITableVie ...

随机推荐

  1. IDEA导入jar包

    http://blog.csdn.net/a153375250/article/details/50851049

  2. 阿里大于发送短信(java)

    一.短信签名设置 1.短信签名是什么? 签名是在短信内容开始或者末尾跟的品牌或者应用名称,设置签名有一下几个好处:增加品牌的曝光度,增强用户的记忆让用户能更清楚的知道正在使用的应用. 2.签名可不可以 ...

  3. 兴趣点 / 关键点( Interest point/Keypoint )

    • 不同视角图片之间的映射           • 稳定局部特征点           • 可重复性.显著性           • 抗图片变换           • 外貌变换(亮度.光照)    ...

  4. win10自带IE上不了网的解决办法

    1.cmd以管理员身份运行powershell. 2.输入以下三条程序. netsh int tcp set heuristics disabled 回车执行后再输入 netsh int tcp se ...

  5. mysql5.7.10开启慢查询

    MySql提供慢SQL日志的功能,能够记录下响应时间超过一定阈值的SQL查询,以便于我们定位糟糕的查询语句. 首先,查询当前mysql数据库是否开启了慢查询日志功能: show VARIABLES l ...

  6. c#批量更新list对象sql

    注意: 1.语句中"set "后有空格, 2.最后一个if一定有值,且接连的sql字段 无  逗号 3.parameterList.Clear(); /// <summary ...

  7. java定义object数组(可以存储String或int等多种类型)

    需求| 想在数组中既有String类型又有int等类型,所以需要定义数组为Object类型   背景| 现在有一个字符串params,需要对其进行逗号分隔赋值到数组里,这时遇到了个问题,即使直接定义的 ...

  8. Python基础之列表及元组的增删改查

    定义一个列表 晚上的状态不太适合写博客,容易犯困~ 列表的增加有三种方式 第一种主流的增加 append函数 list1 = ['noevil', 'fordearme', 'city', 'cust ...

  9. MySql安装和基本管理&mysql语句

    MySql安装和基本管理   本章内容: mysql的安装.启动 mysql破解密码 统一字符编码 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下 ...

  10. 第四章 栈与队列(c2)栈应用:括号匹配