iOS开发常用的第三方库,学习资源等,持续更新中。。。
资料
- 王巍 Objc中国发起人、Line工程师、喵神, swift进阶、swift函数式编程等书籍的译者
- ibireme YYKit作者
- bang JSPatch作者
- 唐巧 《iOS开发进阶》作者、猿题库工程师
- 孙源 前百度工程师,现滴滴工程师
- 我就叫sunny怎么了
- objccn
- 唐巧大神收集的其它大神的博客
网络
- iOS 升级HTTPS通过ATS你所要知道的
- iOS网络缓存扫盲篇--使用两行代码就能完成80%的缓存需求
- iOS开发之AFNetworking 3.0.4使用
- iOS开发 AFNetworking 3.0使用遇到的问题补充
- 正确使用AFNetworking的SSL保证网络安全
- iOS开发中WiFi相关功能总结
- iOS应用支持IPV6,就那点事儿
- 基于iOS 10、realm封装的下载器(支持存储读取、断点续传、后台下载、杀死APP重启后的断点续传等功能)
- 网络层的搭建需要解决哪些问题
- YTKNetwork集成教程以及相关问题思考
- 关于iOS工程中网络请求管理的头脑风暴
- 计算机网络中的TCP/UDP协议到底是怎么回事(一)
- 计算机网络中的TCP/UDP协议到底是怎么回事(二)
block
- iOS中__block 关键字的底层实现原理
- 深入研究Block捕获外部变量和__block实现原理
- iOS OC语言: Block底层实现原理
- Block技巧与底层解析
- 深入浅出-iOS Block原理和内存中位置
多线程
存储
推送
- 国内 90%以上的 iOS 开发者,对 APNs 的认识都是错的
- iOS 10 消息推送(UserNotifications)秘籍总结(一)
- iOS推送之远程推送(iOS Notification Of Remote Notification)
- iOS推送之本地推送(iOS Notification Of Local Notification)
支付
多媒体
- iOS中集成ijkplayer视频直播框架
- iOS视频边下边播--缓存播放数据流
- iOS仿微信小视频功能开发优化记录
- 浅谈iOS视频播放的N种解决方案
- IOS 微信聊天发送小视频的秘密(AVAssetReader+AVAssetReaderTrackOutput播放视频)
- iOS仿微博视频边下边播之封装播放器
- 微信语音连播的实现思路
- iOS播放远程网络音乐的核心技术点
- 【如何快速的开发一个完整的iOS直播app】(原理篇)
- 【如何快速的开发一个完整的iOS直播app】(播放篇)
- 【如何快速的开发一个完整的iOS直播app】(采集篇)
- 【如何快速的开发一个完整的iOS直播app】(美颜篇)
- 快速集成iOS基于RTMP的视频推流
图片
Runloop
Runtime
- 轻松学习之二——iOS利用Runtime自定义控制器POP手势动画
- 【OC刨根问底】-Runtime简单粗暴理解
- iOS中利用 runtime 一键改变字体
- 谈Runtime机制和使用的整体化梳理
- Objective-C特性:Runtime
- iOS 万能跳转界面方法 (runtime实用篇一)
- 让你快速上手Runtime
- iOS开发之runtime精准获取电池电量
- iOS~runtime理解
- 神经病院Objective-C Runtime出院第三天——如何正确使用Runtime
- Runtime 10种用法(没有比这更全的了)
动画
CoreGraphicsQuartz2D 编程指南(一)概览、图形上下文、路径、颜色与颜色空间
消息机制
加密解密
架构
Github
- 最新版MJRefresh解析与详细使用指导
- MJExtension使用指导(转)
- 如何使用Carthage管理iOS依赖库
- Github上的iOS App源码 (中文)
- iOS学习资源汇总(开源项目、第三方库、技术博客等等)
- iOS 高仿Timi记账
- iOS 项目源码大全 github 国内外大神
View
- iOS 实现时间线列表效果
- iOS雷达图 iOS RadarChart实现
- iOS 高效添加圆角效果实战讲解
- iOS tableviewCell的多行选择删除和全选删除
- 【阿峥教你实现UITableView循环利用】 |那些人追的干货
- UICollectionView 全解
- iOS一分钟学会环形进度条
- 【文字渐变效果】 |那些人追的干货
- iOS 关于navigationBar的一些:毛玻璃、透明、动态缩放、动态隐藏
性能调优
开发中遇到的那点儿事
- iOS开发之如何跳到系统设置里的各种设置界面
- 事无巨细系列之iOS开发者证书、推送证书、真机调试详解
- iOS-两种时间格式实现几天前,几小时前,几分钟前
- iOS中的谓词(NSPredicate)使用
- 深入理解iOS开发中的BitCode功能
- iOS开发-超链接富文本
- iOS开发-SiriKit应用
- iOS使用UICountingLabel实现数字变化的动画效果
- 谈谈 Objective-C 链式语法的实现
- iOS 10 创建iMessage App
- iOS9新特性之实现3D Touch就是So easy(更新Swift版)
- iOS 开发中你不能不知道的一个 class
- iOS 项目的目录结构能看出你的开发经验
- iOS 开发中你是否遇到这些经验问题(一)
- iOS 开发中你是否遇到这些经验问题(二)
- iOS 证书详解
- iOS 宏(define)与常量(const)的正确使用
源码解读
- 叶孤城带你读源码之RESideMenu
- SDWebImage源码解析之SDWebImageManager的注解
- SDWebImage源码解析之SDWebImageManager的注解(2)
- 一行行看SDWebImage源码(一)
- 一行行看SDWebImage源码(二)
- JSONModel源码解析一
- JSONModel源码解析二
- iOS AFNetWorking源码详解(一)
- iOS AFNetWorking源码详解(二)
- iOS AFNetWorking源码详解(三)
- iOS AFNetWorking源码详解(四)
- iOS AFNetWorking源码详解(五)
- iOS AFNetWorking源码详解(六)
技术面试
- 《招聘一个靠谱的 iOS》—参考答案(一)
- 《招聘一个靠谱的 iOS》—参考答案(二)
- 《招聘一个靠谱的 iOS》—参考答案(三)
- 答卓同学的iOS面试题
- iOS面试题大全-点亮你iOS技能树
- 你能用到的iOS面试题(一)
- 你能用到的iOS面试题(二)
- 【如何正确使用const,static,extern】|那些人追的干货
- iOS基础问答面试题连载(一)-附答案
上下拉刷新控件
MJRefresh --仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。(推荐)
BreakOutToRefresh--一个下拉刷新打砖块的开源 Swift 库,能让用户在等待下拉刷新的时候边玩撞球游戏边等待2000star
KYJellyPullToRefresh --实现弹性物理效果的下拉刷新,神奇的贝塞尔曲线,配合UIDynamic写的一个拟物的下拉刷新动画
ODRefreshControl* --原iOS6上的橡皮糖刷新样式,很有意思。现在也很多大的 App 在用,比如虾米音乐和 QQ 客户端。*
模糊效果
- FXBlurView --支持iOS5.0以上版本,支持静态、动态模糊效果,继承与UIView的模糊特效4600+star(推荐)。
- VVBlurPresentation --很简单易用的在原来viewConntroller基础上做模糊,然后present新的viewController的,王巍的作品
- UICustomActionSheet -- 通过模糊背景来着重强调与菜单相关的元素–对话框
- SABlurImageView --支持渐变动画效果的图像模糊化类库
AutoLayout
- Masonry --Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性 13000+star(吐血推荐)
- SnapKit -- Snap是Masonry Auto Layout DSL的Swift版本,是一款轻量级的布局框架,使用了更良好的语法封装了AutoLayout。Snap支持iOS和OS X
- PureLayout --适用于iOS和OS X自动布局简单、强大5900+star
- Cartography --swift,AutoLayout 进阶 Demo,宽高比约束、比例约束、不等约束、视差约束、低优先级约束等高级用法,无需写码即可进行复杂页面布局,Demo 还动态模拟了各屏幕下的效果。来自百度知道 iOS 小组的内部分享。
富文本
- TTTAttributedLabel--一个文字视图开源组件,是UILabel的替代元件,可以以简单的方式展现渲染的属性字符串。另外,还支持链接植入,不管是手动还是使用UIDataDetectorTypes自动把电话号码、事件、地址以及其他信息变成链接,6800+star(推荐)
- TYAttributedLabel --TYAttributedLabel 简单,强大的属性文本控件(无需了解CoreText),支持图文混排显示,支持添加链接,image和UIView控件,支持自定义排版显示
- RTLabel--RTLabel的工作方式类似的UILabel,但支持富文本显示类似HTML的标记。
- TQRichTextView--富文本视图控件,用来显示表情,URL 等。
- MLEmojiLabel --自动识别网址、号码、邮箱、@、#话题#和表情的label。 可以自定义自己的表情识别正则,和对应的表情图像。(默认是识别微信的表情符号),继承自TTTAttributedLabel,所以可以像label一样使用。 label的特性全都有,使用起来更友好更方便。
- FXLabel -- FXLabel是一个功能强大使用简单的类库,通过提供一个子类改进了标准的UILabel组件,为字体增加了阴影、内阴影和渐变色等,可以被用在任何标准的UILabel中。FXLabel还提供了更多控件,可以对字体行距、字体间距等进行调整。
- Shimmer --BlingBling闪光效果,酷炫的Label的效果,可以用于加载等待提示,一个简单的方法来添加这样的效果在一个iOS应用任何视图,faceBook出品,7100+star
- ZSSRichTextEditor -- 适用于iOS的富文本WYSIWYG编辑器,支持语法高亮和源码查看。ZSSRichTextEditor包含所有WYSIWYG标准的编辑器工具
- RichEditorView-- swift,一套可定制富文本编辑器组件及示例。功能完整、代码简练、实现逻辑巧妙(编辑器核心与 WebView 结合,采用 HTML5 contentEditable 编辑模式,执行JS 配套命令 execCommand 实现富文本编辑功能)。
- DTCoreText -- 可以解析HTML与CSS最终用CoreText绘制出来,通常用于在一些需要显示富文本的场景下代替低性能的UIWebView。
- MarkdownTextView -- 显示Markdown的TextView
- ParkedTextField -- 带固定文本的输入组件
- LTMorphingLabel -- swift 能够实现文字变形动画效果的Label,用Swift写的一个能够实现文字变形动画效果的Label,很炫
- AttributedLabel -- 显示性能数量级 UILabel 的 AttributedLabel。无畏无惧、挑战权威1
- FFLabel -- 自动检测 URLs, @username, #topic# 等关链词(提供响应扩展),实用的标签文本小组件(国产)
- RealtimeGradientText --渐变的文字
- CoreText实现图文混排
- Swift 比较好用的富文本
图表
- PNChart -- 国内开源作者,动态的图表,7500+star(推荐)
- swift-linechart -- 功能完整、实用的折线图组件。使用方便,参数配置简单。是不可多得的优质组件–swift
- Charts -- 一款优秀 Android 图表开源库 MPAndroidChart 的 Swift 语言实现版(支持 Objective-C 和 Swift 调用)。缺省提供的示例代码为 Objective-C
- TEAChart -- xhacker/TEAChart 一个简洁的 iOS 图表库,支持柱状图、饼图以及日历等)
- YOChartImageKit -- 支持在watchOS上绘制图表,可以关注一下
HUD与Toast
- MBProgressHUD – 最多人用的loading。
- SVProgressHUD – SVProgressHUD的loading,如果你需要定制化的等待提示器,这个就是了(也许是最好的)。。
- ProgressHUD – ProgressHUD的loading,使用最简单。
- MMProgressHUD – 设置HUD出现和消失的方式(包括上下、左右、淡入淡出、放大缩小等等),设置HUD的内容(可以在HUD中加入帧动画、动态图片等等),设置HUD出现时的底部覆盖层颜色,等等。总而言之,这是一份集大成的HUD代码。慢慢看视频吧,囊括了所有效果。
- WSProgressHUD – 一个小巧精致的HUD,支持添加到自定义View上, 还有更多小细节
表格相关
- SWTableViewCell -- 王巍开源作品,带很多手势的表单元格。
- MCSwipeTableViewCell -- 带很多手势的表单元格,2000+star
- TMQuiltView -- 瀑布流。
- XLForm -- 很多表格类的table,写法更高冷一点,推荐使用
- RETableViewManager -- 可以十分方便地生成各种样式、各种功能的TableView。只要开发者能想到的列表效果或者功能,都可以利用这份代码迅速编写出来。比如,之前要实现一个填写各种资料的列表,可能需要很多代码,现在只需要几行代码就可以实现。
- Chats -- 聊天 UI 示例程序。此项目应该只为演示或学习之用,没有服务器 — swift。
- Atlas-iOS -- UUChatTableView 气泡聊天界面,支持文本、图片以及音频的气泡聊天界面。源码推荐说明
- Atlas-iOS -- 快速在iOS里集成聊天功能,类似开源版本的环信。Layer家开源了一套聊天app界面的解决方案.看起来很赞,很多蛮复杂的东西直接都帮封好了。不得不说现在做app开发真是很简单,大部分时间搭积木就可以了
- MBXPageViewController -- 简洁快速的页面切换–MBXPageViewController,带有按钮控件的UIPageController,非常整洁、简单以及快速。该项目通过三种形式展示页面之间的切换,比如导航栏上的多个tab切换、页面左右两端箭头指示切换,以及使用分段控件。
- PagerTab -- UIScrollView实现滑动转换页面,类似网易云音乐iOS版的页面滑动切换效果
- GUITabPagerViewController -- 头部多个tab滑动切换
- COBezierTableView-- swift,通过编辑 Bezier 曲线四点位置设置 TableView 内 Cell 及对应按扭位置。实验效果很赞
- RDVTabBarController -- 一个TabBar组件,可以方便设置底部菜单的文字图片,点击效果,小红点提示等。
- UITableView-FDTemplateLayoutCell -- UITableView-FDTemplateLayoutCell 是一个方便缓存 UITableViewCell 的高度的框架。
- MDIHorizontalSectionTableViewController-- 根据产品需求开源了一个交互项目,可以理解为横向Section的TableView,section和cell同时支持拖拽
- JZNavigationExtension-- 多功能导航控制器,可以透明返回栏
- QuickRearrangeTableView – 基于 UITableView 的快速重排功能扩展子类。通过长按选定单元格然后滚动移动到指定位置
- Eureka 一个很棒的表单库@xiAo__Ju推荐的
隐藏与显示
- SlideTapBar – 滚动栏菜单,向上滚动时隐藏tabbar,向下滚动马上显示tabbar。
- FoldingTabBar.iOS – 可折叠Tab Bar和Tab Bar Controller。
- LTNavigationBar – LTNavigationBar为app导航栏添加动态着色效果,可自定义其背景色。Demo包含:1.变换背景色;2.滚动视图,导航栏和状态栏重叠。
- BLKFlexibleHeightBar – 固定Header的效果库。。
对话框/弹出框
- WCAlertView – 自定义的对话框。
- IOS7AlertView – IOS7AlertView的对话框。
- AMSmoothAlert – 动画效果不错,最多star,但不支持arm64。
- DQAlertView – 扁平化的样式不错。
- HHAlertView – 一个简易的alertview 有三种样式,有成功,失败,和警告三种样式,支持Delegate和block两种回调。
- MJPopupViewController – 实现弹出视图的各种弹出和消失效果,包括淡入淡出(fade in,fade out),从屏幕上方飞进,下方飞出,从屏幕左方飞进,右方飞出等等效果,弹窗。
- EasyTipView – 弹出提示框类及演示示例。同样地,API 简单、易用。好“轮子”,弹窗。
- kxmenu – kxmenu弹出菜单,点击视图上任意位置的按钮,会弹出一个菜单,并且有个小箭头指向点击的按钮,类似气泡视图。弹出的菜单位置会根据按钮的位置来进行调整。
- QBPopupMenu – QBPopupMenu弹出菜单,实现类似 UIMenuItem 的弹出菜单按钮。点击按钮,会弹出一个菜单,上面可以排列多个按钮。纯代码实现,不需要任何图片。
- STModalDemo – 弹出视图(通知,提示,选择,窗口)。
- TAOverlay – TAOverlay可通过叠加层展示有用的信息,可自定义文本和背景色,添加阴影和模糊效果,以及更改字体大小或者用自定义图片替换页面上的icon。
- UICustomActionSheet – 通过模糊背景来着重强调与菜单相关的元素–模糊效果 里面已经收藏。
- ActionSheetPicker-3.0 – 该项目是此前热门项目ActionSheetPicker的新版本,快速复制了iOS 8上的下拉 UIPickerView/ActionSheet功能。
- MJAlertView – 3D效果转场效果警示图–MJAlertView。
- SwiftyDrop – 轻量、易用的小清新弹出列表及信息提示组件真心不错。
其他UI
AwesomeMenu – 最多人用的Path菜单。
DCPathButton – Path,4.0的弹出菜单,呼出或者关闭菜单时,多个小图标会分别按照逆时针和顺时针的方向进行滚动。
SphereMenu – 利用UIDynamicAnimator的有趣的菜单,path类似。
KYGooeyMenu – KYGooeyMenu 是一个具有 Gooey Effects 带粘性的扇形菜单控件(卫星菜单、path)。
TwitterPaggingViewer – 多个Tableview,左右滑动。
CircularProgressControl – Circular Progress Control using CAShapeLayer ,环形进度控制条。
KDCircularProgress – KDCircularProgress是使用swift制作的色彩炫丽的进度条,可以加入多种颜色来控制进度条的渐变效果。
XLPagerTabStrip – 做的很棒的iOS下的PagerTabStrip。
RandomColorSwift – 一个自动生成好看的颜色的 Swift 库,RandomColorSwift。
HexColorService – 将16进制颜色字符串转成UIColor。
Rainbow – 旨在提高代码可读性及易用性的 UIColor 扩展,它使原先有限的预定义颜色(方法)选择,扩展至超过 1200 种。
UIColor-ChineseTraditionalColors – 中国传统颜色引用 UIColor 扩展。“UIColor.桃红(),UIColor.竹青() …”,共158种。
类似美团的下拉菜单 – 类似美团的下拉菜单,源码推荐说明。
类似美团的下拉选项 – 类似于美团、大众点评的下拉菜单选项,code4app代码,评论代码有瑕疵。
CRMediaPickerController – 一个简单易用的图片/视频选择器。1.可同时选择照片和视频。 2.挑选范围有Camera、Camera Roll、Photo Library以及最近拍摄的照片和视频。3.可自定义UIImagePickerController属性(Camera Overlay、Camera Device、Camera View Transform以及allowsEditing)。4.支持横屏和竖屏5.原生的iOS UI。,
源码推荐说明。MDCSwipeToChoose – MDCSwipeToChoose可简单地添加滑动手势来调用UIView,并使用该行为提供了一个组件以创建类似Tinder app的like或者dislike界面的轻扫。基于轻扫的方向,你可以决定执行什么样的行为,并且你可以自定义文本颜色和图片。该项目适用于教学用的抽认卡、图片查看器以及其他等。
iOS Material Design库 – 该项目借鉴于谷歌的Material Design guideline,用户可自定义背景色。
ZMaterialDesignUIButton – Swift Material Design UIButton。
MediumScrollFullScreen – Medium的可扩展滚动页面,上下滚动时,全屏显示内容,并自然消隐上下菜单。由此项目感知,作者是一位很注重细节的开发者,他的另外几个菜单类项目也都不错,值得参考,比如:PathMenu, MediumMenu 等。
SDProgressView – 简便美观的进度指示器,此系列共有六种样式的进度指示器。WZFlashButton – WZFlashButton,点击后button里面出现水波扩散效果。
Twinkle – 为字体加上钻石版闪耀的效果。使用Swift编写。
ios-multi-back-button – 可替换内置的UInavigationController返回按钮,长按左上角的返回按钮,实现多层级的快速返回。ASDayPicker – 适用于iOS (iPhone)的日期选择器,类似于Calendar app的周视图。
today extension – 用纯代码构建一个Widget(today extension) 。
FSCalendar – 日历视图,带有微妙和平滑的滚动效果,可自定义外观–国人。
HSDatePickerViewController – 带有Dropbox Mailbox感觉的时间日期选择器。启动是背景被模糊化。界面也是主流的扁平化风格。
JTCalendar – iOS下优美的 Calendar 组件,做 GTD 类 App 必备。
Persei – 动画隐藏或显示顶部菜单支持库及示例项目。–swiftForm – JSON 驱动的 Form表单系统,复杂的表单填写类 App 极其需要(比如淘宝呢!)。
SwiftyFORM – swift 表单输入框架(亮点是表单验证规则引擎),是我见过地最易用的 Swift 表单组件。
SwiftSpinner – SwiftSpinner是使用swift制作的一款精致带感的指示器,并且连带有字体信息显示,模糊背景,半透明,扁平化等IOS8的效果。
AKPickerView-Swift – 一款小而美的 3D 效果选择器。
ImagePickerSheet – 图片或视频选择器(可多选)组件及其示例项目。
iOS-RatingBar – iOS-RatingBar swift版的评分控件,跟Android的RatingBar一样有两种模式,评分模式和只读模式’支持视图编辑,自定义星星数量,评分等级,另外还能支持非整数星,0.5颗星,0.1颗星,可以开启动画效果。RKNotificationHub – 快速给 UIView 添加上炫酷的通知图标(Badge、红点、提示)。
BubbleTransition – 以气泡膨胀和缩小的动画效果来显示和移除 controller,Uber的就是这种取消操作的方式。
KYFloatingBubble – 类似iOS7中Game Center浮动气泡的效果。
DKNightVersion – DKNightVersion 是一个支持夜间模式切换的框架。
EasyUIControl – 一个可以简化界面ui的控件框架。
LxGridView-oc
LxGridView-swift – 利用UICollectionView模仿iOS系统桌面图标的交互,作用如动图。
QQBtn – 仿QQ未读消息弹性按钮动画,达到和手机QQ未读信息一样的动画效果,效果基本实现。
GMStepper – swift 带动画效果、支持手势滑动操作的步进标签。
TZStackView – OS 9 UIStackView 功能模拟实现于 iOS 7/ iOS 8 内。
LayoutTrait – swift 一个小类库。 做iPad 多任务分屏 适配的同学可以看一下。
HACursor – HACursor,是一个对横向ScrollView中的视图进行管理的UI控件。只要几行代码就可以集成类似于网易新闻对主题页面进行排序,删除操作的功能。
Ruler – 尺子。