 
        在平时的
iOS开发过程中,少不了要使用很多的框架,一个适合的框架能够将开发效率提高几倍,这里将一些不错的Swift框架收集起来,有需要的可以收藏一下。
弹框提示
XLActionController - 选择框
★ Star:2088

XLActionController 是一个支持各种自定义的底部选择框。
SCLAlertView - 提示框
★ Star:3937

SCLAlertView 是一个非常漂亮的提示框,Swift 和 OC 都有,OC 版本点击 这里 。
参考文章:
PopupDialog - 提示框
★ Star:2056


PopupDialog 是一个非常不错的 AlertView 框架,支持各种自定义。
SwiftMessages - 信息提示
★ Star:2293

SwiftMessages 是一个信息提示框架,可以自定义提示位置和样式。
AMPopTip - 文字提示
★ Star:1878

AMPopTip 是一个漂亮的气泡文字提示框架,并且支持 Objective-C 和 Swift 。
EasyTipView - 文字提示
★ Star:1621

EasyTipView 是一个完全可自定义的提示视图框架。
动画框架
Hero - 过渡动画
★ Star:10098

Hero 是为了构建 iOS 试图控制器过渡动画的库,它在 UIKit 繁琐的过渡动画 API 之上提供了一个层,使得自定义过渡动画对于开发人员来说是一个轻松的任务。
参考文章:
(IOS) 向Hero致敬與分析 (一) - Double研究所
(IOS) 向Hero致敬與分析 (二) - Double研究所
EasyAnimation - 简单动画
★ Star:2449

在动画实现过程中,一个看似简单的效果往往需要大量的代码,尤其是作用于 layer 上的动画,为此有了 EasyAnimation 这个库,这个库可以将 Layer Animations 写成 View Animations 的样式。
参考文章:
iOS动画指南 - 2.Layer Animations的基本使用
iOS动画指南 - 3.Layer Animations的进阶使用
iOS动画指南 - 7.简化动画实现的EasyAnimation库
Spring - 动画框架
★ Star:11134

Spring 是一个使用非常简单的动画框架。
PeekPop - 3D Touch 动画
★ Star:1836

PeekPop 是一个 3D Touch 动画框架。
Animations - 动画库
★ Star:2184

Animations 不是一个 CocoaPods 库,但是其中写了很多关于各种动画的 Demo 页面,很多都是经常用到的页面,页面效果写的非常棒,Swift 和 Objective-C 版本都有,Objective-C 版本点击 这里 。
图片显示
Kingfisher - 网络图片
★ Star:9333

Kingfisher 是一个轻量、纯 Swift 的库,可以从网络中异步下载和缓存图片,相当于 Swift  版的 SDWebImage 。
参考文章:
Onboard - 导航页
★ Star:5676

Onboard 是一个导航页框架,只需几行代码,即可轻松创建漂亮,引人入胜的用户指导页体验。
参考文章:
FSPagerView - 图片轮播
★ Star:1816

FSPagerView 是一款基于 UICollectionView 实现的多功能轮播器,具有以下特点:
- 支持无限轮播和自动轮播。
- 丰富的内置 3D / 2D切换效果。
- 带有预定义的轮播图单元格,支持完全自定义单元格。
- 支持在 Swift和Objective-C两种语言中使用。
- 支持完全自定义的 Page Control。
TZImagePickerController - 图片选择器
★ Star:3808

TZImagePickerController 是一个支持多选、选原图和视频的图片选择器,同时有预览、裁剪功能。
ZLPhotoBrowser - 图片选择器
★ Star:1276


ZLPhotoBrowser  是一个方便易用的相册多选框架,支持预览/相册内拍照、预览快速多选照片,3DTouch 预览照片,编辑裁剪图片,编辑视频,混合多选 image、gif、Live Photo 及 video ,相册混合选择,原图功能,支持多语言国际化(中文简/繁,英语,日语),在线下载 iCloud 端图片,自定义最大选择量及最大预览量,自定义照片升序降序排列,自定义照片显示圆角弧度,支持预览网络及本地图片。
功能介绍:
- 支持横竖屏 (已适配 iPhone X)
- 预览快速选择、可设置预览最大数
- 直接进入相册选择
- 支持滑动多选
- 裁剪图片(可自定义裁剪比例)
- 编辑视频
- 查看、选择 gif、LivePhoto(iOS9.0)、video
- 3D Touch预览- image、gif、LivePhoto、video
- 混合选择 image、gif、livePhoto、video
- 在线下载 iCloud照片
- 控制选择 video最大时长
- 多语言国际化(中文简/繁、英文、日文)
- 相册内拍照按钮实时显示镜头捕捉画面
- 已选择图片遮罩层标记
- 预览已选择照片
- 预览网络及本地照片(支持长按保存至相册)
- 相册内图片自定义圆角弧度
- 自定义升序降序排列
- 多张拍照
CBPic2ker - 图片选择器
★ Star:225

CBPic2ker 是一个简单的 iOS 照片选择器,界面非常简洁。
PYPhotoBrowser - 图片浏览器
★ Star:1574

PYPhotoBrowser 是一个 iOS 中使用简单的图片浏览器,支持流水布局 、 线性布局,支持单击 、双击 、捏合 、旋转、拖拽、侧滑手势,主要用于社交  App ,用于呈现一组图片。
颜色管理
Chameleon - 颜色框架
★ Star:9722

Chameleon 是一个轻量却功能强大的 iOS (支持 Objective-C 和 Swift)颜色框架软件,它基于的理念是:软件应用程序应该可以不费力气且同时保持多个漂亮的界面,使用 Chameleon ,你不再需要调配 RGB 值,不用浪费时间去找你的 APP 合适的颜色组合,也不用担心你 APP 的文字是否能在不同背景色上可读。
参考文章:
DynamicColor - 颜色框架
★ Star:1664

DynamicColor 是一个用于操作颜色的 Swift 扩展。
权限请求
PermissionScope - 系统权限请求
★ Star:4457

PermissionScope 是一个请求权限的封装库,可以很方便的请求系统的权限。它不只包含简单的权限请求 UI ,还有统一的权限 API 可以告诉你任意给定的系统权限的状态,当然也可以轻松地请求它们。
参考文章:
【第三方库初级使用系列】PermissionScope的使用方法
RequestPermission - 权限请求
★ Star:1556


RequestPermission 是关于使用可定制的视觉效果管理权限,美丽的对话增加了批准的机会,这在我们要求通知时很重要,该模块的简单控制可节省开发时间,您可以开始使用这个项目,只需两行代码就能轻松自定义。
网络请求
Alamofire - 网络请求
★ Star:24794

- Alamofire的前身是- AFNetworking,- AFNetworking是- iOS和- OS X上很受欢迎的第三方- HTTP网络基础库。
- 其实 - AFNetworking的前缀- AF便是- Alamofire的缩写。
- Swift发布后,- AFNetworking的作者又用- Swift语言写了个相同功能的库,这便是- Alamofire。
- Alamofire本质是基于- URLSession,并做了封装。使用- Alamofire可以让我们网络请求相关代码(如- 获取数据,- 提交数据,- 上传文件,- 下载文件等)更加简洁易用。
参考文章:
Swift - HTTP网络操作库Alamofire使用详解1(配置,以及数据请求)
Swift - HTTP网络操作库Alamofire使用详解2(文件上传)
Swift - HTTP网络操作库Alamofire使用详解3(文件下载,断点续传)
Swift - HTTP网络操作库Alamofire使用详解4(用户权限认证)
HandyJSON - JSON 模型转化
★ Star:1231

HandyJSON 是一个用于 Swift 语言中的 JSON 序列化 / 反序列化库,相当于 Swift 版的 MJExtension 和 YYModel ,能够将 JSON 和 模型 相互转化,可以和 Alamofire  搭配使用。
模型转 JSON(序列化)
| class Person: HandyJSON { | 
JSON 转模型(反序列化)
| let json: NSDictionary = ["name": "张三", "age": 20]; // 可以是 JSON 字符串,也可以是字典(只能 NSDictionary) | 
SwiftyJSON - JSON 解析
★ Star:15207

SwiftyJSON 是个使用 Swift 语言编写的开源库,可以让我们很方便地处理 JSON 数据(解析数据、生成数据),和 HandyJSON 有着完全不同的作用,是将 iOS 自带的 JSONSerialization 大大的简化了。
JSONSerialization 复杂代码
| if let dataArray = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]], | 
SwiftyJSON 简化代码
| let json = JSON(data: data) | 
SwiftyJSON 还有一个能够和 Alamofire 配套使用的库:Alamofire-SwiftyJSON ,能够直接将 Alamofire  请求到的数据转换成 SwiftyJSON  。
| Alamofire.request(URL, method: .get, parameters: parameters, encoding: URLEncoding.default).responseSwiftyJSON { dataResponse in | 
参考文章:
Swift - SwiftyJSON的使用详解(附样例,用于JSON数据处理)
Moya - 抽象网络层
★ Star:6718

Moya 是你的 App 中缺失的网络层。不用再去想在哪儿或者如何安放网络请求,Moya 替你管理。Moya 是一个基于 Alamofire 的 Networking library,并且添加了对于 ReactiveCocoa 和 RxSwift 的接口支持,大大简化了开发过程,是 Reactive Functional Programming 的网络层首选。
参考文章:
简化编程
ReactiveCocoa - 响应式编程
★ Star:17694

RactiveCocoa 简称 RAC ,是 Github 的一个开源框架,能够帮我们提供大量方便的事件处理方案,让我们更简单粗暴地去处理事件,现在分为 ReactiveObjC 和 ReactiveSwift ,两个框架的功能使用相似。
参考文章:
Hello ReactiveSwift(1): 概述 ——(简译)
Hello ReactiveSwift(2): 示例:在线搜索 ——(简译)
Hello ReactiveSwift(3): 基本操作 ——(简译)
Hello ReactiveSwift(4): 框架概述 ——(简译)
Hello ReactiveSwift(5): 调试技术 ——(简译)
RxSwift - 响应式编程
★ Star:10382

RxSwift 也是一个响应式编程的框架,想了解它与 ReactiveCocoa 的区别,可以看这篇文章:iOS响应式编程:ReactiveCocoa vs RxSwift 选谁好 。
参考文章:
RxSwift文档翻译1-Creating and Subscribing to Observables
RxSwift文档翻译2–Working with Subjects
RxSwift文档翻译3 –Combination Operators
RxSwift文档翻译4– Transforming Operators
RxSwift文档翻译5 – Filtering and Conditional Operators
RxSwift文档翻译6 – Mathematical and Aggregate Operators
RxSwift文档翻译7 - Connectable Operators【待定】
RxSwift文档翻译8 - Error Handling Operators
RxSwift文档翻译9 - Debugging Operators
PromiseKit - 异步编程
★ Star:8060

PromiseKit 是一个异步编程类库,提供了很多实用的异步函数,让异步编程更简单。
参考文章:
Material - 材料设计库
★ Star:8324

Material 是一个用于创建漂亮应用程序的材料设计库,就如同它的名字一样,其中包含了大多数开发中需要的控件,并且也提供了非常多基础类的扩展,能够大大的简化我们的代码。
EZSwiftExtensions - 扩展
★ Star:2163

EZSwiftExtensions 对 Swift 标准库、 Foundation 、 UIKit 提供了很多高级扩展函数。
下面举几个例子,具体用法在 GitHub 上都有。
| var myArray = ["charmander","bulbasaur","squirtle","charmander"] | 
| let myView = UIView(x: 0, y: 0, w: 100, h: 100) | 
| let myColor = UIColor(r: 100, g: 100, b: 100) // 默认 alpha 为 1 | 
开发调试
Dotzu - 调试工具
★ Star:1166


Dotzu 是一个应用内 iOS 调试工具,具有增强的日志记录,网络信息,崩溃报告等,并且也有 Objective-C 版本点击 这里 。
GDPerformanceView - 实时 FPS 和 CPU 用量
★ Star:1494

GDPerformanceView 可以在状态栏上方显示 FPS 、CPU 使用情况、App 和 iOS 版本,并通过 Delegate 报告 FPS 和 CPU 使用情况。
扫二维码
swiftScan - 二维码扫描
★ Star:569

swiftScan 是一个二维码库,支持各种码识别、生成、以及界面效果。
功能介绍:
- 扫码框周围区域背景色可设置
- 扫码框颜色可也设置
- 扫码框4个角的颜色可设置、大小可设置
- 可设置只识别扫码框内的图像区域
- 可设置扫码成功后,获取当前图片
- 根据扫码结果,截取码的部分图像(在模仿qq扫码界面,扫码成功后可看到)
- 动画效果选择:线条上下移动、网格形式移动、中间线条不移动(一般扫码条形码的效果)
SGQRCode - 二维码扫描
★ Star:624

SGQRCode 是一个二维码库,支持各种码识别、生成、以及界面效果,是一个 OC 框架。
功能介绍:
- 普通二维码生成
- 彩色二维码生成
- 带有小图标二维码生成
- 根据光线强弱开启手电筒
- 从相册中读取二维码
- 扫描成功之后提示音
- 扫描成功之后界面之间的跳转
- 扫描界面仿微信(请根据项目需求,自行布局或调整)
- 扫描界面可自定义(扫描线条以及网格样式)
数据存储
Realm - 数据库
★ Star:11158

Realm 于 2014 年 7 月发布,是一个跨平台的移动数据库引擎,专门为移动应用的数据持久化而生,其目的是要取代 Core Data 和 SQLite ,Realm 不是基于 Core Data ,也不是基于 SQLite 封装构建的,它有自己的数据库存储引擎,具有 跨平台 、简单易用 、可视化 等优点,这是 中文官方文档地址 。
参考文章:
Valet - 钥匙串存储
★ Star:2681

Valet 允许你安全的在 iOS 或 OS X 钥匙链中存储数据,而不需要掌握任何钥匙链如何工作的知识。它支持在一台设备的多个应用(同一个开发者)间分享数据,以及在一个应用中在多个设备间利用 iCloud 进行分享,同时支持 Touch ID 。
SwiftyUserDefaults - UserDefaults 框架
★ Star:2719

SwiftyUserDefaults 让 UserDefaults 用起来很愉悦,通过结合意味深长的 Swifty API 和静态输入的益处,在一个地方定义键,轻松地使用值类型,获得额外的安全性和方便的编译时检查,这些都是免费的。
参考文章:
用 SwiftyUserDefaults 操作 NSUserDefaluts
GVUserDefaults - UserDefaults 框架
★ Star:880

GVUserDefaults 让 UserDefaults 用起来更加简单,之前使用 [[NSUserDefaults standardUserDefaults] objectForKey:@"userName"] 而现在只需要使用 [GVUserDefaults standardUserDefaults].userName 就能完成,这是一个 Objective-C 框架,Swift 版还没有,可以用上面的 SwiftyUserDefaults 。
参考文章:
时间日期
FSCalendar - 日历
★ Star:4882

FSCalendar 是一个完全自定义的 iOS 日历库,兼容 Objective-C 和 Swift ,支持横向、纵向滑动模式,全屏模式,带有子标题、事件设置等功能。
参考文章:
FSCalendar使用介绍(一) - Hello World
Timepiece - 时间日期
★ Star:2206

Timepiece 是一个直观的日期处理框架。
DateTools - 日期工具
★ Star:5918

DateTools 是一个让时间日期处理起来更加简单的一个框架,并且 Swift 和 Objective-C 版本都有 。
参考文章:
界面显示
IGListKit - UICollectionView 框架
★ Star:6452

IGListKit 是 Instagram 推出的新的 UICollectionView 框架,使用数据驱动,旨在创造一个更快更灵活的列表控件。
参考文章:
DZNEmptyDataSet - 空数据显示
★ Star:9042

在 iOS 开发中,经常会遇到页面无数据的情况,当没有数据时,页面一片空白,顿时令用户心情很不好,DZNEmptyDataSet 能够帮助你避免这个情况,不过 DZNEmptyDataSet 只有 OC 版本,在 Swift 中需要混编使用。
参考文章:
iOS开发之 - DZNEmptyDataSet 空白页占位图
[swift]使用DZNEmptyDataSet空数据占位图
Charts - 图表
★ Star:15438

Charts 可以说是最好的图表库了,是 MPAndroidChart 在 iOS 上的移植,具有漂亮的线图、饼图、条形图、分布图、气泡图、雷达图还有更多种类。
参考文章:
如何在 Swift 语言下使用 iOS Charts API 制作漂亮图表?
Objective-C 中 Charts 的 CombinedChart 使用汇总
DGElasticPullToRefresh - 下拉刷新
★ Star:2871

DGElasticPullToRefresh 是一个下拉刷新控件,具有非常棒的动画效果。
JSBadgeView - 角标控件
★ Star:1157

JSBadgeView 是一个可以自由定制的角标控件,使用起来也非常简单,暂时只有 Objective-C 版本。
参考文章:
DACircularProgress - 加载进度显示
★ Star:2248

DACircularProgress 是一个用来显示加载进度的控件,暂时只有 Objective-C 版本。
导航栏页
WRNavigationBar - 导航栏设置
★ Star:1299

WRNavigationBar 是一个导航栏设置工具,能够一行代码设置状态栏、导航栏按钮、标题、颜色、透明度,移动等。
参考文章:
超简单!!! iOS设置状态栏、导航栏按钮、标题、颜色、透明度,偏移等
KMNavigationBarTransition - 导航栏过渡效果
★ Star:2317

KMNavigationBarTransition 是一个用来统一管理导航栏转场以及当 push 或者 pop 的时候使动画效果更加顺滑的通用库,并且同时支持竖屏和横屏。
使用时不用 import 任何头文件,全部通过 Method Swizzling 在底层做了处理,你不用为这个库写一行代码,所有的改变都悄然发生。
本库的设计理念是使用者只用关心当前 view controller 导航栏的背景样式,而不用在 push 或者 pop 的时候处理各种背景样式。
当 push 的时候本库会保存消失的 view controller 导航栏的背景样式,当 pop 回去后就会还原成以前的样式,因此你不用考虑 pop 后各种导航栏样式改变的情况。同时你也不必考虑 push 后的情况,因为这个是被 push 的 view controller 本身需要考虑的。
SAHistoryNavigationViewController - 导航栏页面返回
★ Star:1497

SAHistoryNavigationViewController 是一个导航栏页面返回的库,当你重按返回按钮的时候,你可以选择之前 push 过的任何一个页面来返回,效果非常酷炫。
TLYShyNavBar - 导航栏滚动隐藏
★ Star:3458


TLYShyNavBar 可以帮助你在页面滚动时自动隐藏导航栏。
表格视图
MGSwipeTableCell - UITableViewCell 滑动菜单
★ Star:5623

MGSwipeTableCell 是一个易于使用的 UITableViewCell 子类,允许显示带有多种转换的可滑动按钮。
参考文章:
有关UITableViewCell的侧滑删除以及使用相关大神框架MGSwipeTableCell遇到的小问题
SWTableViewCell - UITableViewCell 滑动菜单
★ Star:6980

SWTableViewCell 也是一个易于使用的 UITableViewCell 子类,允许显示带有多种转换的可滑动按钮,是一个 Objective-C 框架。
SwipeCellKit - UITableViewCell 滑动菜单
★ Star:2668

SwipeCellKit 也是一个易于使用的 UITableViewCell 子类,允许显示带有多种转换的可滑动按钮。
滑动菜单
SwipeTableView - 滑动菜单
★ Star:1256


SwipeTableView 可以实现不同菜单的左右滑动切换,同时支持类似 tableview 的顶部工具栏悬停(既可以左右滑动,又可以上下滑动),兼容下拉刷新,自定义 collectionview 实现自适应 contentSize 还可实现瀑布流功能,是一个 Objective-C 框架。
RKSwipeBetweenViewControllers - 滑动菜单
★ Star:1675

RKSwipeBetweenViewControllers 能够实现在不同页面之间左右滑动切换,是一个 Objective-C 框架。
SwipeViewController - 滑动菜单
★ Star:462

SwipeViewController 使你可以修改导航栏,并实现滑动按钮,用户可以切换页面,同时用户也可以很容易地看到他所使用的页面。SwipeViewController 是从 RKSwipeBetweenViewControllers 这个库改造为 Swift 的,不仅将语法转换为 Swift ,还增加了一些功能和其他一些细微的变化。
SwipeMenuViewController - 滑动菜单
★ Star:383



SwipeMenuViewController 也是一个可以实现页面左右滑动的一个框架。
侧滑页面
MMDrawerController - 侧滑页面
★ Star:6505

MMDrawerController 是一个侧滑视图控制器,它的设计目的是支持越来越多的应用程序来利用侧滑,是一个 Objective-C 框架。
REFrostedViewController - 侧滑视图
★ Star:3043

REFrostedViewController 是一个侧滑控制器,这个框架是将整个视图侧滑出来,而不是将原来的视图给推过去,可以满足一下不同的需求,是一个 Objective-C 框架。
MSDynamicsDrawerViewController - 侧滑视图
★ Star:3312

MSDynamicsDrawerViewController 也是一个侧滑控制器,并且侧滑过程中会有一个反弹的动画效果,是一个 Objective-C 框架。
JVFloatingDrawer - 侧滑视图
★ Star:1430

JVFloatingDrawer 是一个浮动样式的侧滑页面,利用侧滑页面的应用程序越来越多,这个框架的侧滑效果看上去非常的棒。
CWLateralSlide - 侧滑视图
★ Star:439

CWLateralSlide 是一个非常简单的侧滑抽屉框架,目前有一些侧滑框架适用场景的局限性很高,且固定死的模板,比如设置一个 leftVC ,rightVC ,middleVC 为 TabbarVC(根控制器),如果我要使用这种方式来实现侧滑,就必须根据它的要求来调整我们整个 APP 的架构,侵入型很高,新项目还好,老项目只能说,o shit!😁。假如界面要换交互方式,由于耦合高,替换成本是比较大的,而且侧滑的抽屉界面会一直存在内存里,展示在我们看不见的地方(屏幕外,或者根控制器下边)。
我们的优势: 没有所谓的 leftVC ,rightVC ,对整个项目没有任何限制和依赖,不需要设置啥 XXXTabbarController 这种根控制器,也没有任何需要继承自某某类~真正的0耦合、0侵入、0污染。使用极致简单,真正的大白话操作。侧滑的控制器拥有完整的生命周期函数调用。也就是说,侧滑的界面在隐藏的情况下,并不会对 App 产生额外的内存占用(正确的被释放)最重要的是简单:只要一行代码就能拥有一个侧滑抽屉。
FDFullscreenPopGesture - 全屏侧滑返回
★ Star:4704

FDFullscreenPopGesture 是一个简单的全屏侧滑返回框架,低耦合十分的轻量级。
其他框架
SnapKit - 自动布局
★ Star:10488

SnapKit 是一个优秀的第三方自适应布局库,它可以让 iOS 、OS X 应用更简单地实现自动布局(Auto Layout),SnapKit 的前身是 Masonry ,一个 OC 版的布局库。
参考文章:
Swift - 自动布局库SnapKit的使用详解1(配置、使用方法、样例)
Swift - 自动布局库SnapKit的使用详解2(约束的更新、移除、重做)
Swift - 自动布局库SnapKit的使用详解3(约束优先级,约束做动画)
Swift - 自动布局库SnapKit的使用详解4(样例1:实现一个登录页面)
Swift - 自动布局库SnapKit的使用详解5(样例2:实现一个计算器界面)
AsyncDisplayKit - 异步界面渲染
★ Star:11858

AsyncDisplayKit 是 Facebook 在 2014 年开源的一个异步界面渲染库,她是构筑于 UIKit 之上的一个封装库,与 UIView 是平级的关系(同时提供 UIView bridge 接口)。
参考文章:
AsyncDisplayKit 系列教程 —— 为什么要使用 AsyncDisplayKit
AsyncDisplayKit 系列教程 —— ASTableView
AsyncDisplayKit 坑友教路 —— TouchUpInside
AsyncDisplayKit 系列教程 —— 添加一个 UIActivityIndicatorView 到 ASCellNode
FileKit - 文件管理
★ Star:1540

FileKit 是一个 Swift 框架,可以用来简单而直观地进行文件管理。
参考文章:
DeviceKit - 设备信息
★ Star:1491

DeviceKit 是 UIDevice 的值类型替换,可以轻松获取设备信息和电池电量。
RandomKit - 随机数
★ Star:1180

RandomKit 是一个简单易用的随机数据生成框架,RandomKit 基于一系列接口构建,因此我们也能非常方便地按相同风格添加一些自定义随机数据类型。
参考文章:
SwiftyStoreKit - 应用内购买
★ Star:2304

SwiftyStoreKit 是一个轻量的 App 内购框架,支持 iOS 8.0+ ,tvOS 9.0+ 和 macOS 10.10+ 。
CryptoSwift - 数据加密
★ Star:4200

CryptoSwift 是一个加密相关的帮助函数实现,支持 md5 、sha1 、sha224 、sha256 等等。
IQKeyboardManager - 键盘自适应
★ Star:9631

IQKeyboardManager 是 iOS 中解决键盘弹起遮挡 UITextField / UITextView 的一种很实用的工具,无需输入任何代码,不需要额外的设置,使用 IQKeyboardManager 的你只需要将源文件添加到项目,并且支持 Objective-C 和 Swift 。
参考文章:
 
         
        