现在对于我们 iOS 开发来说,基本上说不可能不使用第三方轮子啦,毕竟没那么多时间,而且自己造的轮子往往想着成为上图中的最后一个,结果却成了上图中第二个或第一个啦,当然大公司另当别论。下面我从之前用过的第三方轮子和看到不错的轮子进行总结一下。
提前声明,此文章大部分转载大神帖子,只做了部分解释修改,方便小白能看懂。
一、基本流程使用的第三方轮子
二、列表相关的轮子
三、图片相关的轮子
四、其他可能用的轮子
一、基本流程使用的第三方轮子
need-to-insert-img
基本流程使用的第三方轮子
Reachability (是一个iOS下检测,iOS设备网络环境用的库)
Masonry (是对Auto Layout进行分装的第三方框架)
SnapKit (是纯代码开发写约束的利器)
AFNetworking (网络请求,也就不用多做解释了)
Alamofire (用swift写的类似AFNetworking的网络请求)
YTKNetwork (是猿题库 iOS 研发团队基于 AFNetworking 封装的 iOS 网络库,提供了更高层次的网络访问抽象)
YYModel (YYModel是YYKit的高效组件之一,在实际场景中的非常实用,运用于项目中使用MVC或MVVM架构时,使用model做数据处理)
Mantle (是由 Github 开发一款模型框架,主要作用在于让开发者更简单的构建应用的 model 层)
JSONModel
SwiftyJSON
MBProgressHUD (弹出提示框)
SVProgressHUD (还是弹出提示框)
JGProgressHUD (依旧是弹出提示框)
FMDB (数据库操作)
Realm (依然是数据库)
上述是有重复同一功能的,而如何选择呢,这个我们可以根据项目的具体情况来确定。
二、列表相关的轮子
need-to-insert-img
列表相关的轮子
MJRefresh (下拉刷新,上拉加载神器)
SVPullToRefresh (同上)
DZNEmptyDataSet (是基于 UITableView/UICollectionView 的范畴/扩展(category)类,它可以在空白页面上显示提示信息。)
CHTCollectionViewWaterfallLayout (瀑布流)
UICollectionViewLeftAlignedLayout (是第三方的左对齐布局管理类,其继承自UICollectionViewFlowLayout,使用其可以方便的进行左对齐的瀑布流界面布局)
UITableView+FDTemplateLayoutCell (动态计算cell的高度)
SWTableViewCell (SWTableViewCell是UITableViewCell的子类,它具有左右滑动显示操作菜单的功能)
RETableViewManager(自定义TableView 多种类型的展示)
其他还有很多类似功能的,这是我个人从中选择的几个,后续添加中......
三、图片相关的轮子
need-to-insert-img
图片相关的轮子
YYWebImage (是一个异步图片加载框架)
SDWebImage (同上)
MWPhotoBrowser (是一个简单的iOS图片和视频浏览框架)
IDMPhotoBrowser (同上)
HUPhotoBrowser (同上)
QBImagePicker (用于获取iOS本地图像,扩展了UIImagePickerController类用于支持图像的多选操作)
CTAssetsPickerController (同上)
TZImagePickerController: 很赞,很实用。
FastImageCache:加载图片速度的优化,很厉害
PS:简友CoderKo1o加:PYPhotoBrowser(图片浏览,功能完善中···)
此处Browser 和 Picker 功能是有些重复的,还是看项目需求来选择吧。
四、其他可能用的轮子
4-1、偏工具类的轮子
####### 键盘上移
IQKeyboardManager:零行代码解决键盘上移的问题
####### 图表
PNChart:各种图表的展示
Charts:Swift Charts
####### 侧滑
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扫码封装,可自行选择。
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 上还有好多优秀的轮子等待我们挖掘,当然有好的轮子也希望可以多互相分享,此处持续添加中······