github上关于iOS的各种开源项目集合(转)

Posted 刚刚888

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了github上关于iOS的各种开源项目集合(转)相关的知识,希望对你有一定的参考价值。

github上关于iOS的各种开源项目集合(转)

.entry-header

UI

下拉刷新

  • EGOTableViewPullRefresh - 最早的下拉刷新控件。
  • SVPullToRefresh - 下拉刷新控件。
  • MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写)
  • XHRefreshControl - XHRefreshControl 是一款高扩展性、低耦合度的下拉刷新、上提加载更多的组件。(国人写)
  • CBStoreHouseRefreshControl - 一个效果很酷炫的下拉刷新控件。
  • BreakOutToRefresh - 一个下拉刷新打砖块的开源 Swift 库,能让用户在等待下拉刷新的时候边玩撞球游戏边等待。
  • KYJellyPullToRefresh - 实现弹性物理效果的下拉刷新,神奇的贝塞尔曲线,配合UIDynamic写的一个拟物的下拉刷新动画。
  • MHYahooParallaxView - 类似于Yahoo Weather和News Digest首屏的视差滚动。
  • SDRefreshView - 简单易用的上拉和下拉刷新(多版本细节适配)。
  • ZLSwiftRefresh - swift下拉刷新/上拉加载更多,支持自定义动画,集成简单,兼容UITableView/CollectionView/ScrollView/WebView。
  • BreakOutToRefresh - swift,上拉和下拉刷新。
  • GearRefreshControl - swift,上拉和下拉刷新。
  • refresher - swift,上拉和下拉刷新。
  • 可展开/收缩的下拉菜单--SvpplyTable - 一个可展开可收缩的下拉菜单,类似Svpply app。
  • ODRefreshControl - 原ios6上的橡皮糖刷新样式,很有意思。现在也很多大的 App 在用,比如虾米音乐和 QQ 客户端。
  • PullToMakeSoup - PullToMakeSoup, 自定义下拉刷新的动画效果:煮饭, Yalantis新作!
  • TwitterCover - Twitter iOS客户端的下拉封面模糊效果。
  • Replace-iOS - Replace-iOS 让人眼前一亮的下拉刷新(iOS)。
  • Animations - 封装了一下,使用的时候只要两行代码。一些动画的飞机稿,都是一些单独分离出来的用于测试的子动画,现在统一归类一下。
  • PullToBounce - 下拉刷新的动画 for UIScrollView。
  • WaterDropRefresh - 仿Path 水滴的下拉刷新效果 还有视差滚动。
  • ESRefreshControl - 仿新浪微博、百度外卖、网易新闻下拉刷新样式Demo(仅供参考)。
  • WaveRefresh - 下拉刷新水波纹动画。
  • DGElasticPullToRefresh - 是一款带有弹性效果的 iOS 下拉刷新组件。
  • CALayerAnimationDemoh - 双向注水动画下拉刷新组件,使用CALayer的mask实现。

模糊效果

  • FXBlurView - 是一个UIView子类,支持iOS5.0以上版本,支持静态、动态模糊效果,继承与UIView的模糊特效。
  • VVBlurPresentation -很简单易用的在原来viewconntroller基础上做模糊,然后present新的viewcontroller的。
  • UICustomActionSheet - 通过模糊背景来着重强调与菜单相关的元素--对话框 里面已经收藏。
  • SABlurImageView - 支持渐变动画效果的图像模糊化类库。P.S. 与前几天推存类库 SAHistoryNavigationViewController 是同一位作者。
  • Blurable.swift - swift模糊组件。

AutoLayout

  • Masonry - Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性( 使用介绍1 使用介绍2),iOS自适应前段库-Masonry的使用),Masonry、Classy、ClassyLiveLayout介绍使用DEMO 视图居中显示、子视图含边距、视图等距离摆放、计算ScrollView的contentsize。
  • Classy - Classy是一个能与UIKit无缝结合stylesheet(样式)系统。它借鉴CSS的思想,但引入新的语法和命名规则,Classy官网Masonry、Classy、ClassyLiveLayout介绍
  • ClassyLiveLayout - ClassyLiveLayout通过结合Classy stylesheets与Masonry一起使用,能够在运行的模拟器中微调Auto Layout约束实时显示效果的工具,Masonry、Classy、ClassyLiveLayout介绍
  • Snap - Snap是Masonry Auto Layout DSL的Swift版本,是一款轻量级的布局框架,使用了更良好的语法封装了AutoLayout。Snap支持iOS和OS X。
  • SnapKit - 就是“snap”, --swift 喜欢自动布局吗?当然喜欢!至少在storyboard中创建时会喜欢。 在代码中纯手工创建约束灰常痛苦,但幸运的是我们有了SnapKit,在board中用上它,你可以简单直观地编写约束了。。
  • PureLayout - PureLayout 是 iOS & OS X Auto Layout 的终极 API——非常简单,又非常强大。PureLayout 通过一个全面的Auto Layout API 扩展了 UIView/NSView, NSArray 和 NSLayoutConstraint,仿照苹果自身的框架。
  • UIView-AutoLayout - Deprecated in favor of PureLayout, which includes OS X support:https://github.com/smileyborg/PureLayout。
  • Cartography - Cartography 是用来声明 Swift 中的 Auto Layout,无需输入任何 stringly 就可设置自己 Auto Layout 的约束声明。
  • Auto-Layout-Showcase - swift,AutoLayout 进阶 Demo,宽高比约束、比例约束、不等约束、视差约束、低优先级约束等高级用法,无需写码即可进行复杂页面布局,Demo 还动态模拟了各屏幕下的效果。来自百度知道 iOS 小组的内部分享。
  • UIView-FDCollapsibleConstraints - 一个AutoLayout辅助工具,最优雅的方式解决自动布局中子View的动态显示和隐藏的问题。第二个Demo模拟了一个经典的FlowLayout,任意一个元素隐藏时,底下的元素需要自动“顶”上来,配合这个扩展,你可以在IB里连一连,选一选,不用一行代码就能搞定。
  • Autolayout_Demo - 在项目中用自动布局实现的类似抽屉效果。
  • 当view隐藏的时候也隐藏其autolayout的NSLayoutAttribute - 当view隐藏的时候也隐藏其autolayout的NSLayoutAttribute,从而不用大量的代码工作。
  • SDAutoLayout - AutoLayout 一行代码搞定自动布局!支持Cell、Label和Tableview高度自适应,致力于做最简单易用的AutoLayout库。
  • Neon.swift - 功能强大的 UI 布局神器。

富文本

  • RTLabel - RTLabel 基于UILabel类的拓展,能够支持html标记的富文本显示,它是基于Core Text,因此也支持Core Text上的一些东西。32位,很久没有更新了。
  • RTLabel - 富文本,RTLabel支持64位。
  • TYAttributedLabel - TYAttributedLabel。 简单易用的属性文本控件(无需了解CoreText),支持富文本,图文混排显示,支持添加链接,image和UIView控件,支持自定义排版显示。
  • TQRichTextView - 用于做富文本视图控件显示,用于即时通讯的表情显示,以及资源评论的富文本显示。
  • TTTAttributedLabel - 一个文字视图开源组件,是UILabel的替代元件,可以以简单的方式展现渲染的属性字符串。另外,还支持链接植入,不管是手动还是使用UIDataDetectorTypes自动把电话号码、事件、地址以及其他信息变成链接。用TTTAttributedLabel创建变化丰富的UILabel - 网易新闻iOS版使用。
  • MLEmojiLabel - 自动识别网址、号码、邮箱、@、#话题#和表情的label。可以自定义自己的表情识别正则,和对应的表情图像。(默认是识别微信的表情符号),继承自TTTAttributedLabel,所以可以像label一样使用。label的特性全都有,使用起来更友好更方便。
  • FXLabel - FXLabel是一个功能强大使用简单的类库,通过提供一个子类改进了标准的UILabel组件,为字体增加了阴影、内阴影和渐变色等,可以被用在任何标准的UILabel中。FXLabel还提供了更多控件,可以对字体行距、字体间距等进行调整。
  • WFReader - 一款简单的coretext阅读器,支持文本选择、高亮以及字体大小选择等。
  • WPAttributedMarkup - WPAttributedMarkup is a simple utility category that can be used to easily create an attributed string from text with markup tags and a style dictionary。
  • KMPlaceholderTextView - 可显示多行 placeholder 的 textView,可以在IB里面设置 -- swift。
  • HHFlashSwitch - 一个另类的UISwitch,选择后,背景水波扩散变色效果。
  • UUColorSwitch - Switch 开关动画效果,当打开开关时,Switch可实现平滑渲染过渡到父视图的效果。
  • UITextViewDIYEmojiExample - UITextView编辑时插入自定义表情-简单的图文混编
  • Shimmer - BlingBling闪光效果,酷炫的Label的效果,可以用于加载等待提示。
  • ZSSRichTextEditor - 适用于iOS的富文本WYSIWYG编辑器,支持语法高亮和源码查看。ZSSRichTextEditor包含所有WYSIWYG标准的编辑器工具。
  • RichEditorView - swift,一套可定制富文本编辑器组件及示例。功能完整、代码简练、实现逻辑巧妙(编辑器核心与 WebView 结合,采用 HTML5 contentEditable 编辑模式,执行JS 配套命令 execCommand 实现富文本编辑功能)。
  • DTCoreText - 可以解析HTML与CSS最终用CoreText绘制出来,通常用于在一些需要显示富文本的场景下代替低性能的UIWebView。DTCoreText源码解析
  • CSGrowingTextView - 用作即时通讯文本框和评论文本框使用,可以显示多行输入。
  • MarkdownTextView - 显示Markdown的TextView。
  • 高仿微信限定行数文字内容 - 采用Autolayout高仿微信纯文字限定行数。
  • FuriganaTextView - 实现复杂的日文韩文排版。
  • ParkedTextField - 带固定文本的输入组件。
  • LTMorphingLabel - swift 能够实现文字变形动画效果的Label,用Swift写的一个能够实现文字变形动画效果的Label,很炫。
  • GJCFCoreText - 图文混排。
  • AttributedLabel - 显示性能数量级 UILabel 的 AttributedLabel。无畏无惧、挑战权威。
  • FFLabel - 自动检测 URLs, @username , #topic# 等关链词(提供响应扩展)。实用的标签文本小组件。
  • TextFieldEffects - 标准的UITextField有些枯燥么?来认识一下TextFieldEffects吧!废话不多说,只要看几个例子,是啊,都是些简单的dropin控制器。甚至可以在storyboard中使用IBDesignables。
  • AutocompleteField - 可应用于 iOS 应用中文字输入框自动补全的场景, 兼容到 iOS 8。
  • Splitflap.swift - 可用于快速给 iOS 应用创建文字翻转的动画效果。
  • WordPress-Editor-iOS - 一个文本编辑器 简书和新浪博客都在用。
  • YYText - 功能强大的 iOS 富文本框架。

图表

  • PNChart - 国内开源作者,动态的图表。
  • swift-linechart - 功能完整、实用的折线图组件。使用方便,参数配置简单。是不可多得的优质组件--swift。
  • ios-charts - 一款优秀 android 图表开源库 MPAndroidChart 的 Swift 语言实现版(支持 Objective-C 和 Swift 调用)。缺省提供的示例代码为 Objective-C。
  • TEAChart - xhacker/TEAChart 一个简洁的 iOS 图表库,支持柱状图、饼图以及日历等。
  • YOChartImageKit - 支持在watchOS上绘制图表,看它最近更新挺勤快的,可以关注一下。
  • RealtimeGradientText - Fun With CALayer Mask 刚好今天开源了一个有趣的项目 RealtimeGradientText,所以也好聊一下 CALayer 的 Mask,说明

表相关与Tabbar

  • SWTableViewCell - 国内开源作者,带很多手势的表单元格。
  • MCSwipeTableViewCell - 带很多手势的表单元格。
  • TMQuiltView - 瀑布流。
  • WaterfallFlowDemo - 一个简单的UICollectionView瀑布流布局演示demo。
  • XLForm - 很多表格类的table,写法更高冷一点,推荐使用。
  • Eureka.swift - Eureka 是 XLForm 的 Swift 的移植版本, 一个可以帮助开发者们快速构建 iOS 各种复杂表单的库, 具有较高的可扩展性, 方便自定制样式。
  • RETableViewManager - 可以十分方便地生成各种样式、各种功能的TableView。只要开发者能想到的列表效果或者功能,都可以利用这份代码迅速编写出来。比如,之前要实现一个填写各种资料的列表,可能需要很多代码,现在只需要几行代码就可以实现。
  • UIScrollSlidingPages - 允许添加多视图控件,并且可以横向滚动。有点类似于Groupon app。
  • HBHorizontalTableView - swift,TableView 横向滚动小示例(仿照 AppStore 应用展示)。
  • HorizontalScrollCell - HorizontalScrollCell是一款使用方便的水平方向可滚动的单元格,适用于UICollectionView中实现水片方向滚动视图。 。
  • SYJiugonggeTableView - tableView封装的九宫格。
  • UUChatTableView - UUChatTableView 气泡聊天界面,支持文本、图片以及音频的气泡聊天界面。源码推荐说明
  • Chats - 聊天 UI 示例程序。此项目应该只为演示或学习之用,没有服务器 -- swift。
  • Atlas-iOS - 快速在iOS里集成聊天功能,类似开源版本的环信。Layer家开源了一套聊天app界面的解决方案.看起来很赞,很多蛮复杂的东西直接都帮封好了。不得不说现在做app开发真是很简单,大部分时间搭积木就可以了。官方网站
  • Chatto.swift - Chatto.swift:轻量级聊天应用框架及示例。文字及图片可扩展输入栏,汽泡效果等聊天核心特性,分页及自动布局完善。
  • DLSlideView - DLSlideView对常见的顶部Tab页点击、滑动分页做了封装。它使用基于ViewController的container特性(而不是scrollview)来管理各个子页面,以支持无限分页,源码推荐说明
  • VOVCManager - 页面管理器:1.跳转指定页面,只需要知道viewController的Class名,如果有storyboard,则需要指定storyboard名;2.无需添加基类;3.支持URLScheme跳转指定页面。
  • MBXPageViewController - 简洁快速的页面切换--MBXPageViewController,带有按钮控件的UIPageController,非常整洁、简单以及快速。该项目通过三种形式展示页面之间的切换,比如导航栏上的多个tab切换、页面左右两端箭头指示切换,以及使用分段控件。
  • PagerTab - UIScrollView实现滑动转换页面,类似网易云音乐iOS版的页面滑动切换效果。
  • GUITabPagerViewController - 多个tab滑动切换。
  • VOMetroLayoutDemo - Metro风格的UICollectionView, 目前只支持横向布局,仅在iPad上应用。
  • KYCellAnimation - 给UITableViewCell增加进入的动画。
  • COBezierTableView - swift,通过编辑 Bezier 曲线四点位置设置 TableView 内 Cell 及对应按扭位置。实验效果很赞。
  • RDVTabBarController - 一个TabBar组件,可以方便设置底部菜单的文字图片,点击效果,小红点提示等。
  • LxTabBarController - 改变了原生tabbar切换tab时的生硬效果,并加入滑动切换手势(有和界面上的其它手势发生冲突的风险,可根据具体项目予以关闭),swift版本
  • WXTabBarController - 在系统 UITabBarController 的基础上完美实现了安卓版微信 TabBar 的滑动切换功能,单手操作 iPhone 6 Plus 切换 TabBar 一直是一件很痛苦的事情,而滑动切换是一种不错的解决方案,支持屏幕旋转。
  • GooeyTabbar - 皮筋式弹性缩放工具栏示例及演示。
  • 横向展示文本内容的自定义cell - 可以横向展示文本内容的自定义cell,根据文本无限滚动。
  • UITableView-FDTemplateLayoutCell - UITableView-FDTemplateLayoutCell 是一个方便缓存 UITableViewCell 的高度的框架。
  • ExpandingStackCells - 采用 UIStackView 实现表格单元格扩展内容显示示例及解决方案。
  • FDStackView - 可以将 UIStackView 的最低支持版本拉低到 iOS6,无需配置,没有代码侵染,扔到工程里后直接用系统 UIStackView 的 API 即可,同时兼容 Storyboard。
  • Sapporo - swift 单元格模型驱动的集合视图管理器组件。又一个超实用的“轮子”。
  • MDIHorizontalSectionTableViewController - 根据产品需求开源了一个交互项目,可以理解为横向Section的TableView,section和cell同时支持拖拽,后续安卓版本也会开源出来。
  • JZNavigationExtension - 多功能导航控制器,可以透明返回栏。
  • QuickRearrangeTableView - 基于 UITableView 的快速重排功能扩展子类。通过长按选定单元格然后滚动移动到指定位置。
  • uicollectionview-reordering - UICollectionViews的拖拽(拖动、移动)效果,实例教程.
  • DZNEmptyDataSet - DZNEmptyDataSet算是一个很标准的iOS内建方式,适合用来处理空的table view和collection view。会自动将collection view处理完善,并将用户消息以合适美观的方式显示出来。每个iOS项目都可以自动处理。
  • MGSwipeTableCell - 另一个常见于很多应用中的UI组件,苹果应该考虑在标准的iOS SDK中加入一些类似的内容。Swipeable表格cell是这个pod的最佳描述,也是最好的。
  • XLPlainFlowLayout - 可以让UICollectionView的header也支持悬停效果,类似于tableView的Plain风格。
  • WMPageController - 一个方便的 pageContrller 的控件,里面还包括滚动视图。
  • PSTCollectionView - PSTCollectionView。
  • LLRiseTabBar-iOS - 直接使用系统的特性实现的tabbar,比较简单。
  • MTMaterialDelete - 非常有趣的Material Design动画,动画删除表里面的单元格。
  • BusyNavigationBar - 进度条式NavigationBar导航条。
  • ReorderableGridView-Swift - 拖拽排序卡片。

隐藏与显示

  • SlideTapBar - 滚动栏菜单,向上滚动时隐藏tabbar,向下滚动马上显示tabbar。
  • FoldingTabBar.iOS - 可折叠Tab Bar和Tab Bar Controller。
  • LTNavigationBar - LTNavigationBar为app导航栏添加动态着色效果,可自定义其背景色。Demo包含:1.变换背景色;2.滚动视图,导航栏和状态栏重叠。
  • BLKFlexibleHeightBar - 固定Header的效果库,一个拥有非常灵活高度的标题栏,可以为使用软件的用户提供更多的阅读和滑动空间,现在已经被众多app所采用。

HUD与Toast

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

对话框

  • WCAlertView - 自定义的对话框。
  • IOS7AlertView - IOS7AlertView的对话框。
  • AMSmoothAlert - 动画效果不错,最多star,但不支持arm64。
  • DQAlertView - 扁平化的样式不错。
  • HHAlertView - 一个简易的alertview 有三种样式,有成功,失败,和警告三种样式,支持Delegate和block两种回调。
  • MJPopupViewController - 实现弹出视图的各种弹出和消失效果,包括淡入淡出(fade in,fade out),从屏幕上方飞进,下方飞出,从屏幕左方飞进,右方飞出等等效果,弹窗。
  • MMPopupView - 弹出框的基类组件(弹窗)。
  • Menu - 项目中可能会用到的常用菜单,以后有时间会继续补充,弹窗。
  • EasyTipView - 弹出提示框类及演示示例。同样地,API 简单、易用。好“轮子”,弹窗。
  • kxmenu - kxmenu弹出菜单,点击视图上任意位置的按钮,会弹出一个菜单,并且有个小箭头指向点击的按钮,类似气泡视图。弹出的菜单位置会根据按钮的位置来进行调整。
  • QBPopupMenu - QBPopupMenu弹出菜单,实现类似 UIMenuItem 的弹出菜单按钮。点击按钮,会弹出一个菜单,上面可以排列多个按钮。纯代码实现,不需要任何图片。
  • STModalDemo - 弹出视图(通知,提示,选择,窗口)。
  • TAOverlay - TAOverlay可通过叠加层展示有用的信息,可自定义文本和背景色,添加阴影和模糊效果,以及更改字体大小或者用自定义图片替换页面上的icon。
  • UICustomActionSheet - 通过模糊背景来着重强调与菜单相关的元素--模糊效果 里面已经收藏。
  • ActionSheetPicker-3.0 - 该项目是此前热门项目ActionSheetPicker的新版本,快速复制了iOS 8上的下拉 UIPickerView/ActionSheet功能。
  • MJAlertView - 3D效果转场效果警示图--MJAlertView。
  • SwiftyDrop - 轻量、易用的小清新弹出列表及信息提示组件真心不错。
  • PSTAlertController - 兼容 iOS7的 XXAlertController,接口跟UIAlertController 一模一样,做到高低版本通用。
  • PCLBlurEffectAlert.swfit - 细节定制较丰富的弹出警报窗口组件。
  • GSAlert.swfit - 苹果在iOS8推出了全新的UIAlertController,旧的UIAlertView和UIActionSheet渐渐被废弃,但如果你仍然支持iOS7系统,你将不得不写两套代码。GSAlert解决了这个问题。

其他UI