在公司項目新版本方案選擇中,對主導航中要使用的抽屜效果進行了調研。主要原因是舊的項目中所用的庫ECS評價不是很好?,F對當下比較火的幾大熱門抽屜效果的第三方庫進行了調研。代碼全部選自github
如果你不是在董鉑然博客園看到本文,請點擊查看原文
https://github.com/romaonthego/RESideMenu
4300個星
示例程序跑到30M,可能是因為里面有圖片。
支持iOS7+
測試效果很好
優點:
1.里面的文件較少,不需要使用cocoapods即可運行。
2.里面自定義API也比較多,可以設置變小的抽屜效果或者不變小。
3.里面有兩個事例程序,一個是純手碼,一個是Storyboard得??梢娮髡咭卜浅O矚gIB開發,此框架用IB開發應該可以完美兼容。
4.可以使用手勢拖來拖去。
5.項目里各個文件不需要繼承,導入頭文件就行。
缺點:
1.左邊顯示的菜單可選項是固定的幾個button,暫時想把左邊換成tableView還不知道可不可行。(現已解決,可以改)
2.不能實現狀態欄右移。(董鉑然博客園)
3.暫時沒找到兩邊控制器的占比怎么自定義。(現已解決,可以改)
https://github.com/mutualmobile/MMDrawerController
3100個星
示例程序內存跑到15M
iOS7+
測試效果屌爆了。
優點。
1.里面有9個文件比上面的略多。但也還湊合吧
2.雖然沒有縮小抽屜的動畫,但是在平向切入時,leftVC有幾種轉場動畫可選。
3.左邊已經是tableVIew。
4.自定義的接口挺多。
5.作者最近還在更新
缺點。
1.相比于上面的,這個項目是用純手碼寫的。
2.現在有一個抽搐的小bug,不過感覺我應該能改好。
3.在設置左右占比時,用的是固定數值,這樣的話4s和6的手機界面顯示是不一樣的。(應該能改成百分比)
4.依舊狀態欄不能右移。
5.項目內各個文件需要繼承工具類。
https://github.com/ipup/PPRevealSideViewController
736星
iOS6+
測試效果一般。
優點:
1.支持iOS6
2.基本的自定義也都是支持的。
3.頁面大部分是Storyboard搭建。
4.導入頭文件,而不是繼承。
缺點:
1.也是支持iOS6,導致界面始終控制的必須有一個黑條。并且在切換的時候太低端了。
2.除了自己的PPRSVC,還必須使用cocoapods依賴了另一個庫,PPHelpMe。這個庫有29個文件。
3.手勢支持做的不怎么好,能拉出來但不能拉回去。(董鉑然博客園)
https://github.com/John-Lluch/SWRevealViewController
2100星
非常干凈的界面也沒有圖片,為什么內存會跑到28M?
iOS7+
測試的效果一般
優點:
1.使用的是導入頭文件,而不是繼承。
2.非常干凈,基本只有核心功能,只有兩個文件一個.h一個.m
3.可以實現三層抽屜。
4.支持手勢的各種操作。
5.里面使用了不少xib文件。
6.左右占比控制的很好。
缺點:
1.能夠自定義的接口不是很多。(但改源碼的話應該也不會很難)
2.橫屏時的屏幕適配需要再改進下。
2.貌似沒有缺點了。
https://github.com/ECSlidingViewController/ECSlidingViewController
3500個星
支持iOS5
測試效果一般。
優點:
1.除了星多,貌似沒有優點(和上面幾個相比的話)
缺點:
1.用了13個文件,但是貌似只是實現了最基本的抽屜效果功能。
2.縮在右邊時還向右邊拉,會產生bug。
3.用的是繼承。每個文件都要繼承。
4.去年8月以后就停止更新了。
暫時我更傾向于第一種,首先接口清晰,代碼清晰,并且對項目的侵入性很小這事根本原因。目前也正在詳細調研此庫。
(如果有使用過上述庫,有其他觀點的歡迎指點)
新聞熱點
疑難解答