在公司項目新版本方案選擇中,對主導航中要使用的抽屜效果進行了調研。主要緣由是舊的項目中所用的庫ECS評價不是很好。現對當下比較火的幾大熱門抽屜效果的第三方庫進行了調研。代碼所有選自githubhtml
若是你不是在董鉑然博客園看到本文,請點擊查看原文git
https://github.com/romaonthego/RESideMenugithub
4300個星框架
示例程序跑到30M,多是由於裏面有圖片。ide
支持iOS7+工具
測試效果很好測試
優勢:動畫
1.裏面的文件較少,不須要使用cocoapods便可運行。spa
2.裏面自定義API也比較多,能夠設置變小的抽屜效果或者不變小。3d
3.裏面有兩個事例程序,一個是純手碼,一個是Storyboard得。可見做者也很是喜歡IB開發,此框架用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月之後就中止更新了。
暫時我更傾向於第一種,首先接口清晰,代碼清晰,而且對項目的侵入性很小這事根本緣由。目前也正在詳細調研此庫。
(若是有使用過上述庫,有其餘觀點的歡迎指點)