現(xiàn)在對于我們 iOS 開發(fā)來說,基本上說不可能不使用第三方輪子啦,畢竟沒那么多時間,而且自己造的輪子往往想著成為上圖中的最后一個,結(jié)果卻成了上圖中第二個或第一個啦,當(dāng)然大公司另當(dāng)別論。下面我從之前用過的第三方輪子和看到不錯的輪子進(jìn)行總結(jié)一下。
- 一、基本流程使用的第三方輪子
- 二、列表相關(guān)的輪子
- 三、圖片相關(guān)的輪子
- 四、其他可能用的輪子
一、基本流程使用的第三方輪子
上述是有重復(fù)同一功能的,而如何選擇呢,這個我們可以根據(jù)項目的具體情況來確定。
二、列表相關(guān)的輪子
- MJRefresh
- EGOTableViewPullRefresh:(這個不更新了,但剛開始用就是它,有感情)
- SVPullToRefresh
- UITableView+FDTemplateLayoutCell
- SWTableViewCell
- RETableViewManager: 自定義TableView 多種類型的展示。
其他還有很多類似功能的,這是我個人從中選擇的幾個,后續(xù)添加中......
三、圖片相關(guān)的輪子
- MWPhotoBrowser : 支持視頻和圖片的
- IDMPhotoBrowser
- HUPhotoBrowser
- FastImageCache:加載圖片速度的優(yōu)化,很厲害
PS:
- 簡友CoderKo1o加: PYPhotoBrowser (圖片瀏覽,功能完善中···)
- MediaBrowser: 照片和視頻瀏覽器, Swfit 庫
此處Browser 和 Picker 功能是有些重復(fù)的,還是看項目需求來選擇吧。
四、其他可能用的輪子
4-1、偏工具類的輪子
####### 數(shù)據(jù)庫
####### 鍵盤上移
- IQKeyboardManager:零行代碼解決鍵盤上移的問題
####### 日志系統(tǒng)
- CocoaLumberjack: 號稱在大多數(shù)情況下,它比NSLog快一個數(shù)量級,同時一個日志語句可以發(fā)送到多個記錄器。
####### 圖表
####### 側(cè)滑
- MMDrawerController:側(cè)邊欄的 Controller
- RESideMenu: QQ 側(cè)邊欄的效果
- ENSwiftSideMenu: 簡潔版的側(cè)滑菜單
####### 聊天
- UUChatTableView:聊天對話的時候,可以參考
- JSQMessagesViewController:也是聊天對話的,個人認(rèn)為更適合
####### 藍(lán)牙
- BabyBluetooth: 一個易使用的藍(lán)牙庫
- BluetoothKit: 讓我們更容易的操作藍(lán)牙的封裝庫,Swift
####### 頭部TabBar
- VTMagic : 類似網(wǎng)易、騰訊等應(yīng)用的菜單分頁組
- DLSlieView:也是類似網(wǎng)易上部選擇導(dǎo)航的效果
- HMSegmentedControl:選擇 (可以和DLSlieView比較一下)
- GUITabPagerViewController: 也是上部 tabBar 點擊或滑動的效果
- WMPageController: 同上頂部導(dǎo)航VC 切換
####### 底部TabBar
- ESTabBarController : TabBar 的超多樣式
- CYLTabBarController : 號稱低耦合集成TabBarController
####### 富文本
- TTTAttributedLabel: 富文本的Label
- TYAttributedLabel : 這個富文本貌似更直觀些,可以和上面這個對比下
- M80AttributedLabel : 這個也是可以瞧瞧的
- ZSSRichTextEditor : 編輯富文本,棒棒的
####### 小控件
- JSBadgeView:類似系統(tǒng)的 Badge,購物車時常用
- JVFloatLabeledTextField: 特殊效果的textField
- TextFieldEffects: 有標(biāo)注的textFiled
- VBFPopFlatButton: 各種稀奇古怪的動畫button
- FXBlurView:對視圖進(jìn)行模糊操作
- SDCycleScrollView: 循環(huán)輪播
- SCLAlertView: 自定義的UIAlertView,更漂亮哦
- Shimmer:具有閃爍效果的第三方控件
####### 雜七雜八的
- SAMKeychain: 保存keychain的
- AESCrypt-ObjC: AES 加密/解密
- Mobileplayer-ios: Swift 媒體播放器
- PDTSimpleCalendar: 日歷
- PYSearch: 搜索類中,有熱門標(biāo)簽、歷史記錄標(biāo)簽。
- LBXScan : 二維碼相關(guān),ZXing、ZBar、iOS系統(tǒng)AVFoundation掃碼封裝,可自行選擇。
- FLEX :強大的調(diào)試庫,超級棒
4-2、不一定常用,但很有意思的一些動畫輪子
- CBStoreHouseRefreshControl:刷新時,不一樣的動畫
- LTMorphingLabel:很cool 的文字展示
- ZLSwipeableView : 不一樣的翻頁效果
- Animated-tab-bar: 有動畫的tabBar
- Hamburger-button : 變換的 Button,個人比較喜歡
- Folding-cell:點擊Cell 時,有折疊的動畫效果,很贊
4-3、另外一些第三方庫,大
- JSPatch:熱修復(fù),為項目動態(tài)添加模塊,或替換項目原生代碼動態(tài)修復(fù) bug
- ReactiveCocoa: 函數(shù)響應(yīng)式編程,使用 MVVM 搭
- RxSwift:Swift 函數(shù)響應(yīng)式編程框架。
- BlocksKit: blocks 包,喜歡用 Block的非常適合,學(xué)習(xí) block 的好庫。
- JKCategories:iOS 中常用到的 Category ,可以好好學(xué)習(xí)
- YYKit:龐大、豐富的 iOS 組件,也是學(xué)習(xí)的好地方。
- CocoaAsyncSocket:異步 socket 通訊類庫
- GPUImage:圖片過濾
- AsyncDisplayKit:將圖像解碼、布局以及渲染操作放在后臺線程,帶來更好的用戶交互體驗的框架。
- PromiseKit : 一個用來出來異步的編程框架(Swift)
暫時大部分記錄的還是 Objective-C 相關(guān)的, 說真的 github 上還有好多優(yōu)秀的輪子等待我們挖掘,當(dāng)然有好的輪子也希望可以多互相分享,此處持續(xù)添加中······。
話又說回來,我個人還是一向 遵循盡量用蘋果本身提供的 API 的原則,雖說與上面有矛盾。畢竟引入一個第三方庫有時還是有一些不確定的因素的,如果可能,盡量自己開發(fā)和實現(xiàn)相應(yīng)的功能,第三方庫盡量只作為參考。 (當(dāng)然一切以開發(fā)速度為第一的情況下,那就先用吧)
PS: 備注 下面鏈接中還有一些我們可能會用到的,超多超全: