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

orangepanda 发布于2年前
0 条问题

系统的整理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 的快速重排功能扩展子类。通过长按选定单元格然后滚动移动到指定位置

隐藏与显示

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 – 尺子。

需要 登录 后回复方可回复, 如果你还没有账号你可以 注册 一个帐号。