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