????現(xiàn)在對于我們 iOS 開發(fā)來說屹蚊,基本上說不可能不使用第三方輪子啦,畢竟沒那么多時間侠姑,而且自己造的輪子往往想著成為上圖中的最后一個,結(jié)果卻成了上圖中第二個或第一個啦箩做,當(dāng)然大公司另當(dāng)別論莽红。下面我從之前用過的第三方輪子和看到不錯的輪子進行總結(jié)一下。
????提前聲明邦邦,此文章大部分轉(zhuǎn)載大神帖子安吁,只做了部分解釋修改,方便小白能看懂燃辖。
一鬼店、基本流程使用的第三方輪子
二、列表相關(guān)的輪子
三黔龟、圖片相關(guān)的輪子
四妇智、其他可能用的輪子
一、基本流程使用的第三方輪子
need-to-insert-img
基本流程使用的第三方輪子
Reachability?(是一個iOS下檢測,iOS設(shè)備網(wǎng)絡(luò)環(huán)境用的庫)
Masonry?(是對Auto Layout進行分裝的第三方框架)
SnapKit?(是純代碼開發(fā)寫約束的利器)
AFNetworking?(網(wǎng)絡(luò)請求捌锭,也就不用多做解釋了)
Alamofire?(用swift寫的類似AFNetworking的網(wǎng)絡(luò)請求)
YTKNetwork?(是猿題庫 iOS 研發(fā)團隊基于?AFNetworking?封裝的 iOS 網(wǎng)絡(luò)庫俘陷,提供了更高層次的網(wǎng)絡(luò)訪問抽象)
YYModel?(YYModel是YYKit的高效組件之一,在實際場景中的非常實用观谦,運用于項目中使用MVC或MVVM架構(gòu)時拉盾,使用model做數(shù)據(jù)處理)
Mantle?(是由 Github 開發(fā)一款模型框架,主要作用在于讓開發(fā)者更簡單的構(gòu)建應(yīng)用的 model 層)
MBProgressHUD?(彈出提示框)
SVProgressHUD? (還是彈出提示框)
JGProgressHUD? (依舊是彈出提示框)
FMDB?(數(shù)據(jù)庫操作)
Realm?(依然是數(shù)據(jù)庫)
上述是有重復(fù)同一功能的豁状,而如何選擇呢捉偏,這個我們可以根據(jù)項目的具體情況來確定。
二泻红、列表相關(guān)的輪子
need-to-insert-img
列表相關(guān)的輪子
MJRefresh? (下拉刷新夭禽,上拉加載神器)
SVPullToRefresh? (同上)
DZNEmptyDataSet?(是基于?UITableView/UICollectionView?的范疇/擴展(category)類,它可以在空白頁面上顯示提示信息谊路。)
CHTCollectionViewWaterfallLayout? (瀑布流)
UICollectionViewLeftAlignedLayout?(是第三方的左對齊布局管理類讹躯,其繼承自UICollectionViewFlowLayout,使用其可以方便的進行左對齊的瀑布流界面布局)
UITableView+FDTemplateLayoutCell?(動態(tài)計算cell的高度)
SWTableViewCell?(SWTableViewCell是UITableViewCell的子類缠劝,它具有左右滑動顯示操作菜單的功能)
RETableViewManager(自定義TableView 多種類型的展示)
其他還有很多類似功能的潮梯,這是我個人從中選擇的幾個,后續(xù)添加中......
三惨恭、圖片相關(guān)的輪子
need-to-insert-img
圖片相關(guān)的輪子
YYWebImage?(是一個異步圖片加載框架)
SDWebImage?(同上)
MWPhotoBrowser?(是一個簡單的iOS圖片和視頻瀏覽框架)
IDMPhotoBrowser? (同上)
HUPhotoBrowser?(同上)
QBImagePicker?(用于獲取iOS本地圖像秉馏,擴展了UIImagePickerController類用于支持圖像的多選操作)
TZImagePickerController: 很贊,很實用脱羡。
FastImageCache:加載圖片速度的優(yōu)化萝究,很厲害
PS:簡友CoderKo1o加:PYPhotoBrowser(圖片瀏覽免都,功能完善中···)
此處Browser 和 Picker 功能是有些重復(fù)的,還是看項目需求來選擇吧帆竹。
四绕娘、其他可能用的輪子
4-1、偏工具類的輪子
####### 鍵盤上移
IQKeyboardManager:零行代碼解決鍵盤上移的問題
####### 圖表
PNChart:各種圖表的展示
Charts:Swift Charts
####### 側(cè)滑
MMDrawerController:側(cè)邊欄的 Controller
RESideMenu: QQ 側(cè)邊欄的效果
ENSwiftSideMenu: 簡潔版的側(cè)滑菜單
####### 聊天
UUChatTableView:聊天對話的時候馆揉,可以參考
JSQMessagesViewController:也是聊天對話的业舍,個人認為更適合
####### 藍牙
BabyBluetooth: 一個易使用的藍牙庫
BluetoothKit: 讓我們更容易的操作藍牙的封裝庫,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:對視圖進行模糊操作
SDCycleScrollView: 循環(huán)輪播
SCLAlertView: 自定義的UIAlertView噩茄,更漂亮哦
Shimmer:具有閃爍效果的第三方控件
####### 雜七雜八的
SAMKeychain: 保存keychain的
AESCrypt-ObjC: AES 加密/解密
Mobileplayer-ios: Swift 媒體播放器
PYSearch: 搜索類中,有熱門標(biāo)簽复颈、歷史記錄標(biāo)簽绩聘。
LBXScan: 二維碼相關(guān),ZXing耗啦、ZBar凿菩、iOS系統(tǒng)AVFoundation掃碼封裝,可自行選擇帜讲。
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ù)添加中······