對抽屜效果幾大github第三方庫的調研,抽屜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月以後就停止更新了。
結果分析
暫時我更傾向於第一種,首先介面清晰,代碼清晰,並且對項目的侵入性很小這事根本原因。目前也正在詳細調研此庫。
(如果有使用過上述庫,有其他觀點的歡迎指點)