现在对于我们 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: 备注 下面链接中还有一些我们可能会用到的,超多超全: