對抽屜效果幾大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月以后就停止更新了。

 

結果分析 

暫時我更傾向於第一種,首先接口清晰,代碼清晰,並且對項目的侵入性很小這事根本原因。目前也正在詳細調研此庫。

(如果有使用過上述庫,有其他觀點的歡迎指點) 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM