首页 > 代码库 > iOS超全开源框架、项目和学习资料汇总:UI篇
iOS超全开源框架、项目和学习资料汇总:UI篇
上下拉刷新控件
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
1. AwesomeMenu – 最多人用的Path菜单。
2. DCPathButton – Path,4.0的弹出菜单,呼出或者关闭菜单时,多个小图标会分别按照逆时针和顺时针的方向进行滚动。
3. SphereMenu – 利用UIDynamicAnimator的有趣的菜单,path类似。
4. KYGooeyMenu – KYGooeyMenu 是一个具有 Gooey Effects 带粘性的扇形菜单控件(卫星菜单、path)。
5. TwitterPaggingViewer – 多个Tableview,左右滑动。
6. CircularProgressControl – Circular Progress Control using CAShapeLayer ,环形进度控制条。
7. KDCircularProgress – KDCircularProgress是使用swift制作的色彩炫丽的进度条,可以加入多种颜色来控制进度条的渐变效果。
8. XLPagerTabStrip – 做的很棒的iOS下的PagerTabStrip。
9. RandomColorSwift – 一个自动生成好看的颜色的 Swift 库,RandomColorSwift。10. HexColorService – 将16进制颜色字符串转成UIColor。
11. Rainbow – 旨在提高代码可读性及易用性的 UIColor 扩展,它使原先有限的预定义颜色(方法)选择,扩展至超过 1200 种。
12. UIColor-ChineseTraditionalColors – 中国传统颜色引用 UIColor 扩展。“UIColor.桃红(),UIColor.竹青() …”,共158种。
13. 类似美团的下拉菜单 – 类似美团的下拉菜单,源码推荐说明。
14. 类似美团的下拉选项 – 类似于美团、大众点评的下拉菜单选项,code4app代码,评论代码有瑕疵。
15. CRMediaPickerController – 一个简单易用的图片/视频选择器。1.可同时选择照片和视频。 2.挑选范围有Camera、Camera Roll、Photo Library以及最近拍摄的照片和视频。3.可自定义UIImagePickerController属性(Camera Overlay、Camera Device、Camera View Transform以及allowsEditing)。4.支持横屏和竖屏5.原生的iOS UI。,源码推荐说明。
16. MDCSwipeToChoose – MDCSwipeToChoose可简单地添加滑动手势来调用UIView,并使用该行为提供了一个组件以创建类似Tinder app的like或者dislike界面的轻扫。基于轻扫的方向,你可以决定执行什么样的行为,并且你可以自定义文本颜色和图片。该项目适用于教学用的抽认卡、图片查看器以及其他等。
17. iOS Material Design库 – 该项目借鉴于谷歌的Material Design guideline,用户可自定义背景色。
18. ZMaterialDesignUIButton – Swift Material Design UIButton。
19. MediumScrollFullScreen – Medium的可扩展滚动页面,上下滚动时,全屏显示内容,并自然消隐上下菜单。由此项目感知,作者是一位很注重细节的开发者,他的另外几个菜单类项目也都不错,值得参考,比如:PathMenu, MediumMenu 等。
20. SDProgressView – 简便美观的进度指示器,此系列共有六种样式的进度指示器。
21. WZFlashButton – WZFlashButton,点击后button里面出现水波扩散效果。
22. Twinkle – 为字体加上钻石版闪耀的效果。使用Swift编写。
23. ios-multi-back-button – 可替换内置的UInavigationController返回按钮,长按左上角的返回按钮,实现多层级的快速返回。
24. ASDayPicker – 适用于iOS (iPhone)的日期选择器,类似于Calendar app的周视图。
25. today extension – 用纯代码构建一个Widget(today extension) 。
26. FSCalendar – 日历视图,带有微妙和平滑的滚动效果,可自定义外观–国人。
27. HSDatePickerViewController – 带有Dropbox Mailbox感觉的时间日期选择器。启动是背景被模糊化。界面也是主流的扁平化风格。
28. JTCalendar – iOS下优美的 Calendar 组件,做 GTD 类 App 必备。
29. Persei – 动画隐藏或显示顶部菜单支持库及示例项目。–swift
30. Form – JSON 驱动的 Form表单系统,复杂的表单填写类 App 极其需要(比如淘宝呢!)。
31. SwiftyFORM – swift 表单输入框架(亮点是表单验证规则引擎),是我见过地最易用的 Swift 表单组件。
32. SwiftSpinner – SwiftSpinner是使用swift制作的一款精致带感的指示器,并且连带有字体信息显示,模糊背景,半透明,扁平化等IOS8的效果。
33. AKPickerView-Swift – 一款小而美的 3D 效果选择器。
34. ImagePickerSheet – 图片或视频选择器(可多选)组件及其示例项目。
35. iOS-RatingBar – iOS-RatingBar swift版的评分控件,跟Android的RatingBar一样有两种模式,评分模式和只读模式’支持视图编辑,自定义星星数量,评分等级,另外还能支持非整数星,0.5颗星,0.1颗星,可以开启动画效果。
36. RKNotificationHub – 快速给 UIView 添加上炫酷的通知图标(Badge、红点、提示)。
37. BubbleTransition – 以气泡膨胀和缩小的动画效果来显示和移除 controller,Uber的就是这种取消操作的方式。
38. KYFloatingBubble – 类似iOS7中Game Center浮动气泡的效果。
39. DKNightVersion – DKNightVersion 是一个支持夜间模式切换的框架。
40. EasyUIControl – 一个可以简化界面ui的控件框架。
41. LxGridView-oc LxGridView-swift – 利用UICollectionView模仿iOS系统桌面图标的交互,作用如动图。
42. QQBtn – 仿QQ未读消息弹性按钮动画,达到和手机QQ未读信息一样的动画效果,效果基本实现。
43. GMStepper – swift 带动画效果、支持手势滑动操作的步进标签。
44. TZStackView – OS 9 UIStackView 功能模拟实现于 iOS 7/ iOS 8 内。
45. LayoutTrait – swift 一个小类库。 做iPad 多任务分屏 适配的同学可以看一下。
46. HACursor – HACursor,是一个对横向ScrollView中的视图进行管理的UI控件。只要几行代码就可以集成类似于网易新闻对主题页面进行排序,删除操作的功能。
47. Ruler – 尺子。
iOS超全开源框架、项目和学习资料汇总:UI篇