iOS超全开源框架、项目和学习资料汇总(1)UI篇

96
DevYao
0.2 2016.10.15 23:51* 字数 4640

系统的整理iOS开发常用的第三方库、学习资源等,如果有更好的三方库、没有整理到、可以在评论留言,我会及时更新的,还不赶快mark~

上下拉刷新控件

**1. ** MJRefresh --仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。(推荐)
**2. ** SVPullToRefresh --下拉刷新控件4500+star,值得信赖
**3. ** CBStoreHouseRefreshControl --一个效果很酷炫的下拉刷新控件3600+star
**4. ** BreakOutToRefresh --一个下拉刷新打砖块的开源 Swift 库,能让用户在等待下拉刷新的时候边玩撞球游戏边等待2000star
**5. ** KYJellyPullToRefresh --实现弹性物理效果的下拉刷新,神奇的贝塞尔曲线,配合UIDynamic写的一个拟物的下拉刷新动画
**6. ** MHYahooParallaxView --类似于Yahoo Weather和News Digest首屏的视差滚动
**7. ** SDRefreshView --简单易用的上拉和下拉刷新(多版本细节适配)
**8. ** BreakOutToRefresh --swift,上拉和下拉刷新2000star
**9. ** refresher --swift,上拉和下拉刷新800star
**10. ** SvpplyTable --一个可展开可收缩的下拉菜单,类似Svpply app
**11. ** ODRefreshControl --原iOS6上的橡皮糖刷新样式,很有意思。现在也很多大的 App 在用,比如虾米音乐和 QQ 客户端。
**12. ** PullToMakeSoup --自定义下拉刷新的动画效果:煮饭, Yalantis新作!
14. ** ** TwitterCover --Twitter iOS客户端的下拉封面模糊效果
**15. ** Replace-iOS --Replace-iOS 让人眼前一亮的下拉刷新(iOS)
**16. ** Animations --使用的时候只要两行代码。一些动画的飞机稿,都是一些单独分离出来的用于测试的子动画


模糊效果

**1. ** FXBlurView --支持iOS5.0以上版本,支持静态、动态模糊效果,继承与UIView的模糊特效4600+star(推荐)。
**2. ** VVBlurPresentation --很简单易用的在原来viewConntroller基础上做模糊,然后present新的viewController的,王巍的作品
**3. ** UICustomActionSheet -- 通过模糊背景来着重强调与菜单相关的元素–对话框
**4. ** SABlurImageView --支持渐变动画效果的图像模糊化类库


AutoLayout

**1. ** Masonry --Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性 13000+star(吐血推荐)
**2. ** SnapKit -- Snap是Masonry Auto Layout DSL的Swift版本,是一款轻量级的布局框架,使用了更良好的语法封装了AutoLayout。Snap支持iOS和OS X
**3. ** PureLayout --适用于iOS和OS X自动布局简单、强大5900+star
**4. ** Cartography --swift,AutoLayout 进阶 Demo,宽高比约束、比例约束、不等约束、视差约束、低优先级约束等高级用法,无需写码即可进行复杂页面布局,Demo 还动态模拟了各屏幕下的效果。来自百度知道 iOS 小组的内部分享。


富文本

**1. ** TTTAttributedLabel--一个文字视图开源组件,是UILabel的替代元件,可以以简单的方式展现渲染的属性字符串。另外,还支持链接植入,不管是手动还是使用UIDataDetectorTypes自动把电话号码、事件、地址以及其他信息变成链接,6800+star(推荐)
**2. ** TYAttributedLabel --TYAttributedLabel 简单,强大的属性文本控件(无需了解CoreText),支持图文混排显示,支持添加链接,image和UIView控件,支持自定义排版显示
**3. ** RTLabel--RTLabel的工作方式类似的UILabel,但支持富文本显示类似HTML的标记。
**4. ** TQRichTextView--富文本视图控件,用来显示表情,URL 等。
**5. ** MLEmojiLabel --自动识别网址、号码、邮箱、@、#话题#和表情的label。 可以自定义自己的表情识别正则,和对应的表情图像。(默认是识别微信的表情符号),继承自TTTAttributedLabel,所以可以像label一样使用。 label的特性全都有,使用起来更友好更方便。
**6. ** FXLabel -- FXLabel是一个功能强大使用简单的类库,通过提供一个子类改进了标准的UILabel组件,为字体增加了阴影、内阴影和渐变色等,可以被用在任何标准的UILabel中。FXLabel还提供了更多控件,可以对字体行距、字体间距等进行调整。
**7. ** Shimmer --BlingBling闪光效果,酷炫的Label的效果,可以用于加载等待提示,一个简单的方法来添加这样的效果在一个iOS应用任何视图,faceBook出品,7100+star
**8. ** ZSSRichTextEditor -- 适用于iOS的富文本WYSIWYG编辑器,支持语法高亮和源码查看。ZSSRichTextEditor包含所有WYSIWYG标准的编辑器工具
**9. ** RichEditorView-- swift,一套可定制富文本编辑器组件及示例。功能完整、代码简练、实现逻辑巧妙(编辑器核心与 WebView 结合,采用 HTML5 contentEditable 编辑模式,执行JS 配套命令 execCommand 实现富文本编辑功能)。
**10. ** DTCoreText -- 可以解析HTML与CSS最终用CoreText绘制出来,通常用于在一些需要显示富文本的场景下代替低性能的UIWebView。
**11. ** MarkdownTextView -- 显示Markdown的TextView
**12. ** ParkedTextField -- 带固定文本的输入组件
**13. ** LTMorphingLabel -- swift 能够实现文字变形动画效果的Label,用Swift写的一个能够实现文字变形动画效果的Label,很炫
**14. ** AttributedLabel -- 显示性能数量级 UILabel 的 AttributedLabel。无畏无惧、挑战权威
**15. ** FFLabel -- 自动检测 URLs, @username, #topic# 等关链词(提供响应扩展),实用的标签文本小组件(国产)
**16. ** RealtimeGradientText --渐变的文字


图表

**1. ** PNChart -- 国内开源作者,动态的图表,7500+star(推荐)
**2. ** swift-linechart -- 功能完整、实用的折线图组件。使用方便,参数配置简单。是不可多得的优质组件–swift
**3. ** Charts -- 一款优秀 Android 图表开源库 MPAndroidChart 的 Swift 语言实现版(支持 Objective-C 和 Swift 调用)。缺省提供的示例代码为 Objective-C
**4. ** TEAChart -- xhacker/TEAChart 一个简洁的 iOS 图表库,支持柱状图、饼图以及日历等)
**5. ** YOChartImageKit -- 支持在watchOS上绘制图表,可以关注一下


表格相关

**1. ** SWTableViewCell -- 王巍开源作品,带很多手势的表单元格。
**2. ** MCSwipeTableViewCell -- 带很多手势的表单元格,2000+star
**3. ** TMQuiltView -- 瀑布流。
**4. ** XLForm -- 很多表格类的table,写法更高冷一点,推荐使用
**5. ** RETableViewManager -- 可以十分方便地生成各种样式、各种功能的TableView。只要开发者能想到的列表效果或者功能,都可以利用这份代码迅速编写出来。比如,之前要实现一个填写各种资料的列表,可能需要很多代码,现在只需要几行代码就可以实现。
**6. ** Chats -- 聊天 UI 示例程序。此项目应该只为演示或学习之用,没有服务器 — swift。
**7. ** Atlas-iOS -- UUChatTableView 气泡聊天界面,支持文本、图片以及音频的气泡聊天界面。源码推荐说明
**8. ** Atlas-iOS -- 快速在iOS里集成聊天功能,类似开源版本的环信。Layer家开源了一套聊天app界面的解决方案.看起来很赞,很多蛮复杂的东西直接都帮封好了。不得不说现在做app开发真是很简单,大部分时间搭积木就可以了
**9. ** MBXPageViewController -- 简洁快速的页面切换–MBXPageViewController,带有按钮控件的UIPageController,非常整洁、简单以及快速。该项目通过三种形式展示页面之间的切换,比如导航栏上的多个tab切换、页面左右两端箭头指示切换,以及使用分段控件。
**10. ** PagerTab -- UIScrollView实现滑动转换页面,类似网易云音乐iOS版的页面滑动切换效果
**11. ** GUITabPagerViewController -- 头部多个tab滑动切换
**12. ** COBezierTableView-- swift,通过编辑 Bezier 曲线四点位置设置 TableView 内 Cell 及对应按扭位置。实验效果很赞
**13. ** RDVTabBarController -- 一个TabBar组件,可以方便设置底部菜单的文字图片,点击效果,小红点提示等。
**14. ** UITableView-FDTemplateLayoutCell -- UITableView-FDTemplateLayoutCell 是一个方便缓存 UITableViewCell 的高度的框架。
**15. ** MDIHorizontalSectionTableViewController-- 根据产品需求开源了一个交互项目,可以理解为横向Section的TableView,section和cell同时支持拖拽
**16. ** JZNavigationExtension-- 多功能导航控制器,可以透明返回栏
17. ** QuickRearrangeTableView – 基于 UITableView 的快速重排功能扩展子类。通过长按选定单元格然后滚动移动到指定位置
** 18.
Eureka 一个很棒的表单库@xiAo__Ju推荐的


隐藏与显示

**1. ** SlideTapBar – 滚动栏菜单,向上滚动时隐藏tabbar,向下滚动马上显示tabbar。
**2. ** FoldingTabBar.iOS – 可折叠Tab Bar和Tab Bar Controller。
**3. ** LTNavigationBar – LTNavigationBar为app导航栏添加动态着色效果,可自定义其背景色。Demo包含:1.变换背景色;2.滚动视图,导航栏和状态栏重叠。
**4. ** BLKFlexibleHeightBar – 固定Header的效果库。。


HUD与Toast

**1. ** MBProgressHUD – 最多人用的loading。
**2. ** SVProgressHUD – SVProgressHUD的loading,如果你需要定制化的等待提示器,这个就是了(也许是最好的)。。
**3. ** ProgressHUD – ProgressHUD的loading,使用最简单。
**4. ** MMProgressHUD – 设置HUD出现和消失的方式(包括上下、左右、淡入淡出、放大缩小等等),设置HUD的内容(可以在HUD中加入帧动画、动态图片等等),设置HUD出现时的底部覆盖层颜色,等等。总而言之,这是一份集大成的HUD代码。慢慢看视频吧,囊括了所有效果。
**4. ** **WSProgressHUD **– 一个小巧精致的HUD,支持添加到自定义View上, 还有更多小细节


对话框/弹出框

**1. ** WCAlertView – 自定义的对话框。
**2. ** IOS7AlertView – IOS7AlertView的对话框。
**3. ** AMSmoothAlert – 动画效果不错,最多star,但不支持arm64。
**4. ** DQAlertView – 扁平化的样式不错。
**5. ** HHAlertView – 一个简易的alertview 有三种样式,有成功,失败,和警告三种样式,支持Delegate和block两种回调。
**5. ** MJPopupViewController – 实现弹出视图的各种弹出和消失效果,包括淡入淡出(fade in,fade out),从屏幕上方飞进,下方飞出,从屏幕左方飞进,右方飞出等等效果,弹窗。
**7. ** EasyTipView – 弹出提示框类及演示示例。同样地,API 简单、易用。好“轮子”,弹窗。
**8. ** kxmenu – kxmenu弹出菜单,点击视图上任意位置的按钮,会弹出一个菜单,并且有个小箭头指向点击的按钮,类似气泡视图。弹出的菜单位置会根据按钮的位置来进行调整。
**9. ** QBPopupMenu – QBPopupMenu弹出菜单,实现类似 UIMenuItem 的弹出菜单按钮。点击按钮,会弹出一个菜单,上面可以排列多个按钮。纯代码实现,不需要任何图片。
**10. ** STModalDemo – 弹出视图(通知,提示,选择,窗口)。
**11. ** TAOverlay – TAOverlay可通过叠加层展示有用的信息,可自定义文本和背景色,添加阴影和模糊效果,以及更改字体大小或者用自定义图片替换页面上的icon。
**12. ** UICustomActionSheet – 通过模糊背景来着重强调与菜单相关的元素–模糊效果 里面已经收藏。
**13. ** ActionSheetPicker-3.0 – 该项目是此前热门项目ActionSheetPicker的新版本,快速复制了iOS 8上的下拉 UIPickerView/ActionSheet功能。
**14. ** MJAlertView – 3D效果转场效果警示图–MJAlertView。
**15. ** 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 – 动画隐藏或显示顶部菜单支持库及示例项目。–swift
Form – 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 – 尺子。

基础篇
Web note ad 1