iOS开发常用三方库

UI

日历

  • TEAChart - xhacker/TEAChart 一个简洁的 iOS 图表库,支持柱状图、饼图以及日历等。
  • CVCalendar - 是一个方便开发者集成自定义日历视图到自己 iOS 应用的项目, 支持 Storyboard 和手动配置, 使用 CocoaPods 进行安装, 提供了丰富的 API 供开发者使用。
  • ZYCalendar 一个iOS端高度可定制化的日历视图

下拉刷新

  • EGOTableViewPullRefresh - (三年未更新了)最早的下拉刷新控件。
  • SVPullToRefresh - (三年未更新了) 下拉刷新控件。
  • MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写)
  • XHRefreshControl - XHRefreshControl 是一款高扩展性、低耦合度的下拉刷新、上提加载更多的组件。(国人写)
  • CBStoreHouseRefreshControl - 一个效果很酷炫的下拉刷新控件。
  • KYJellyPullToRefresh - 实现弹性物理效果的下拉刷新,神奇的贝塞尔曲线,配合UIDynamic写的一个拟物的下拉刷新动画。
  • MHYahooParallaxView - 类似于Yahoo Weather和News Digest首屏的视差滚动。
  • SDRefreshView - 简单易用的上拉和下拉刷新(多版本细节适配)。
  • 可展开/收缩的下拉菜单--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实现。
  • BanTangAnimation - 半糖下拉刷新的原理。简单来说是利用CGGlyph,字符图形转换成cgpath,然后绘制strokeEnd动画。把timeoffset和scrolloffset结合就行了。
  • SURefresh - BOSS直聘APP下拉刷新动画实现,效果展示图-> 实现思路再复杂的动画都可以拆分成许多简单的动画组合起来,这个动画大概可以分成两个主体,我把它分别录制出来给大家看看
模糊效果
  • FXBlurView - 是一个UIView子类,支持iOS5.0以上版本,支持静态、动态模糊效果,继承与UIView的模糊特效。
  • VVBlurPresentation -很简单易用的在原来viewconntroller基础上做模糊,然后present新的viewcontroller的。
  • UICustomActionSheet - 通过模糊背景来着重强调与菜单相关的元素--对话框 里面已经收藏。
  • SABlurImageView - 支持渐变动画效果的图像模糊化类库。P.S. 与前几天推存类库 SAHistoryNavigationViewController 是同一位作者。
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介绍
  • 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。
  • UIView-FDCollapsibleConstraints - 一个AutoLayout辅助工具,最优雅的方式解决自动布局中子View的动态显示和隐藏的问题。第二个Demo模拟了一个经典的FlowLayout,任意一个元素隐藏时,底下的元素需要自动“顶”上来,配合这个扩展,你可以在IB里连一连,选一选,不用一行代码就能搞定。
  • Autolayout_Demo - 在项目中用自动布局实现的类似抽屉效果。
  • 当view隐藏的时候也隐藏其autolayout的NSLayoutAttribute - 当view隐藏的时候也隐藏其autolayout的NSLayoutAttribute,从而不用大量的代码工作
  • SDAutoLayout - AutoLayout 一行代码搞定自动布局!支持Cell、Label和Tableview高度自适应,致力于做最简单易用的AutoLayout库。
  • MyLinearLayout MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. So you can use LinearLayout,RelativeLayout,FrameLayout,TableLayout,FlowLayout,FloatLayout,PathLayout,LayoutSizeClass to build your App 自动布局 UIView UITableView UICo…
  • WHC_AutoLayoutKit Had better use the auto layout of open source framework,致力打造使用最简单功能最强大的自动布局开源库

富文本

  • YYText - 功能强大的 iOS 富文本框架。

  • Shimmer - BlingBling闪光效果,酷炫的Label的效果,可以用于加载等待提示。

  • TFHpple - TFHpple解析html的轻量级框架

  • RTLabel - RTLabel 基于UILabel类的拓展,能够支持Html标记的富文本显示,它是基于Core Text,因此也支持Core Text上的一些东西。32位,很久没有更新了。

  • RTLabel - 富文本,RTLabel支持64位。

  • TYAttributedLabel - TYAttributedLabel。 简单易用的属性文本控件(无需了解CoreText),支持富文本,图文混排显示,支持添加链接,image和UIView控件,支持自定义排版显示。

  • 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。

  • HHFlashSwitch - 一个另类的UISwitch,选择后,背景水波扩散变色效果。

  • UUColorSwitch - Switch 开关动画效果,当打开开关时,Switch可实现平滑渲染过渡到父视图的效果。

  • UITextViewDIYEmojiExample - UITextView编辑时插入自定义表情-简单的图文混编

  • ZSSRichTextEditor - 适用于iOS的富文本WYSIWYG编辑器,支持语法高亮和源码查看。ZSSRichTextEditor包含所有WYSIWYG标准的编辑器工具。

  • DTCoreText - 可以解析HTML与CSS最终用CoreText绘制出来,通常用于在一些需要显示富文本的场景下代替低性能的UIWebView。DTCoreText源码解析

  • CSGrowingTextView - 用作即时通讯文本框和评论文本框使用,可以显示多行输入。

  • MarkdownTextView - 显示Markdown的TextView。

  • 高仿微信限定行数文字内容 - 采用Autolayout高仿微信纯文字限定行数。

  • FuriganaTextView - 实现复杂的日文韩文排版。

  • ParkedTextField - 带固定文本的输入组件。

  • GJCFCoreText - 图文混排。

  • AttributedLabel - 显示性能数量级 UILabel 的 AttributedLabel。无畏无惧、挑战权威。

  • FFLabel - 自动检测 URLs, @username, #topic# 等关链词(提供响应扩展)。实用的标签文本小组件。

  • TextFieldEffects - 标准的UITextField有些枯燥么?来认识一下TextFieldEffects吧!废话不多说,只要看几个例子,是啊,都是些简单的dropin控制器。甚至可以在storyboard中使用IBDesignables。

  • AutocompleteField - 可应用于 iOS 应用中文字输入框自动补全的场景, 兼容到 iOS 8。

  • WordPress-Editor-iOS - 一个文本编辑器 简书和新浪博客都在用。

  • placeholder_TextView - 带有placeholder的TextView:带有提示信息的textview,使用懒加载的**,支持扩展、自定义,类似许多APP内部的意见反馈页面 。

  • M80AttributedLabel - M80AttributedLabel实现文字与表情的混排。一般使用气泡作为背景。

图表

  • PNChart - 国内开源作者,动态的图表。
  • XJYChart 优秀的的图表框架。支持动画,点击,滑动,区域高亮
  • YOChartImageKit - 支持在watchOS上绘制图表,看它最近更新挺勤快的,可以关注一下。
  • RealtimeGradientText - Fun With CALayer Mask 刚好今天开源了一个有趣的项目 RealtimeGradientText,所以也好聊一下 CALayer 的 Mask,说明
  • XYPieChart -XYPieChart:饼状图, 饼图, 数据统计, 数据可视化,可以在图形上标注数据。效果十分漂亮,而且没有用到一张图片。
  • ZFChart - 模仿PNChart写的一个图表库,用法简单,暂时有柱状图,线状图,饼图三种类型,后续可能会更新新的类型。
  • ios-charts - 一款优秀 Android 图表开源库 MPAndroidChart 的 Swift 语言实现版(支持 Objective-C 和 Swift 调用)。缺省提供的示例代码为 Objective-C。
  • JYRadarChart 一个很赞的图表库
  • XJYChart 一个轻量级并且实用的图表框架

颜色

  • Colours Colours–颜色库,包含100种预定义的颜色和方法
  • DKNightVersion - Manage Colors, Integrate Night/Multiple Themes

TableView

  • SWTableViewCell 非常赞 UITableViewCell 的子类, 实现了左右滑动显示信息视图并调出按钮 An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application)
  • RETableViewManager 赞 一个非常强大的使用数据驱动的 UITableView 内容管理。
  • DZNEmptyDataSet - 非常赞 DZNEmptyDataSet算是一个很标准的iOS内建方式,适合用来处理空的tableview和collection view。会自动将collection view处理完善,并将用户消息以合适美观的方式显示出来。每个iOS项目都可以自动处理。
  • JSQMessagesViewController 一个优秀的即时聊天UI库
  • folding-cell 很赞 一个比较酷炫的cell折叠动画效果
  • VVeboTableViewDemo 此项目由VVebo剥离,希望你能通过这个demo看到我是如何进行TableView流畅度优化的。
  • SWTableViewCell - 国内开源作者,带很多手势的表单元格。
  • MCSwipeTableViewCell - 带很多手势的表单元格。
  • TMQuiltView - 瀑布流。
  • XRWaterfallLayout - 超简单的瀑布流实现,实现说明
  • WaterfallFlowDemo - 一个简单的UICollectionView瀑布流布局演示demo。
  • XLForm - 很多表格类的table,写法更高冷一点,推荐使用。
  • RETableViewManager - 可以十分方便地生成各种样式、各种功能的TableView。只要开发者能想到的列表效果或者功能,都可以利用这份代码迅速编写出来。比如,之前要实现一个填写各种资料的列表,可能需要很多代码,现在只需要几行代码就可以实现。
  • UIScrollSlidingPages - 允许添加多视图控件,并且可以横向滚动。有点类似于Groupon app。
  • HorizontalScrollCell - HorizontalScrollCell是一款使用方便的水平方向可滚动的单元格,适用于UICollectionView中实现水片方向滚动视图。 。
  • SYJiugonggeTableView - tableView封装的九宫格。
  • SYJiugonggeTableView - tableView封装的九宫格。
  • UUChatTableView - UUChatTableView 气泡聊天界面,支持文本、图片以及音频的气泡聊天界面。源码推荐说明
  • Atlas-iOS - 快速在iOS里集成聊天功能,类似开源版本的环信。Layer家开源了一套聊天app界面的解决方案.看起来很赞,很多蛮复杂的东西直接都帮封好了。不得不说现在做app开发真是很简单,大部分时间搭积木就可以了。官方网站
  • DLSlideView - DLSlideView对常见的顶部Tab页点击、滑动分页做了封装。它使用基于ViewController的container特性(而不是scrollview)来管理各个子页面,以支持无限分页,源码推荐说明
  • VOVCManager - 页面管理器:1.跳转指定页面,只需要知道viewController的Class名,如果有storyboard,则需要指定storyboard名;2.无需添加基类;3.支持URLScheme跳转指定页面。
  • MBXPageViewController - 简洁快速的页面切换--MBXPageViewController,带有按钮控件的UIPageController,非常整洁、简单以及快速。该项目通过三种形式展示页面之间的切换,比如导航栏上的多个tab切换、页面左右两端箭头指示切换,以及使用分段控件。
  • PagerTab - UIScrollView实现滑动转换页面,类似网易云音乐iOS版的页面滑动切换效果。
  • BATabBarController - A TabBarController with a unique animation for selection GUITabPagerViewController - 多个tab滑动切换。
  • VOMetroLayoutDemo - Metro风格的UICollectionView, 目前只支持横向布局,仅在iPad上应用。
  • KYCellAnimation - 给UITableViewCell增加进入的动画。
  • RDVTabBarController - 一个TabBar组件,可以方便设置底部菜单的文字图片,点击效果,小红点提示等。
  • WXTabBarController - 在系统 UITabBarController 的基础上完美实现了安卓版微信 TabBar 的滑动切换功能,单手操作 iPhone 6 Plus 切换 TabBar 一直是一件很痛苦的事情,而滑动切换是一种不错的解决方案,支持屏幕旋转。
  • GooeyTabbar - 皮筋式弹性缩放工具栏示例及演示。
  • CYLTabBarController - 低耦合集成TabBarController,最低只需传两个数组即可完成主流App框架搭建。
  • 横向展示文本内容的自定义cell - 可以横向展示文本内容的自定义cell,根据文本无限滚动。
  • UITableView-FDTemplateLayoutCell - UITableView-FDTemplateLayoutCell 是一个方便缓存 UITableViewCell 的高度的框架。
  • ExpandingStackCells - 采用 UIStackView 实现表格单元格扩展内容显示示例及解决方案。
  • FDStackView - 可以将 UIStackView 的最低支持版本拉低到 iOS6,无需配置,没有代码侵染,扔到工程里后直接用系统 UIStackView 的 API 即可,同时兼容 Storyboard。
  • MDIHorizontalSectionTableViewController - 根据产品需求开源了一个交互项目,可以理解为横向Section的TableView,section和cell同时支持拖拽,后续安卓版本也会开源出来。
  • JZNavigationExtension - 多功能导航控制器,可以透明返回栏。
  • QuickRearrangeTableView - 基于 UITableView 的快速重排功能扩展子类。通过长按选定单元格然后滚动移动到指定位置。
  • uicollectionview-reordering - UICollectionViews的拖拽(拖动、移动)效果,实例教程.
  • LLNoDataView - 超简单的空数据提示通用View支持UIScrollView、UITableView、UICollectionView、UIWebView。
  • MGSwipeTableCell - 另一个常见于很多应用中的UI组件,苹果应该考虑在标准的iOS SDK中加入一些类似的内容。Swipeable表格cell是这个pod的最佳描述,也是最好的。
  • XLPlainFlowLayout - 可以让UICollectionView的header也支持悬停效果,类似于tableView的Plain风格。
  • WMPageController - 一个方便的 pageContrller 的控件,里面还包括滚动视图。
  • PSTCollectionView - PSTCollectionView。
  • LLRiseTabBar-iOS - 直接使用系统的特性实现的tabbar,比较简单。
  • MTMaterialDelete - 非常有趣的Material Design动画,动画删除表里面的单元格。
  • BusyNavigationBar - 进度条式NavigationBar导航条。
  • LGSettingView - LGSettingView仅需三句代码即可快速集成设置界面,免去每次开发新应用都要重新布置设置界面的烦恼。
  • 微博cell自动布局 - 使用autoLayout对微博的cell进行自动布局,自适应cell的高度。
  • TreeTableView - ZYTreeTableView:TreeView 模仿好友列表的实现方式。
  • ZWSlideViewController - ZWSlideViewController多页滑动视图控制器(类似新闻类门户APP),可以用最简单的继承方法使用,也可以不用继承,只用菜单或主视图页面,可实现丰富的定制,可以使用在多种不同形态的APP下,还可以将其做为多页或多图的滑动介绍。
  • XWCatergoryView - 一个轻量级的顶部分类视图控件,只需要通过简单的设置,你就可以快速集成该控件, 控件目前暂时有底部横条移动,椭圆背景移动,文字缩放,文字颜色变化,和文字颜色渐变五种效果,五种效果可以叠加使用也可以单一使用。实现教程
  • jingDongFenLei - 简单仿写京东分类中的多级分类页面。
  • RKSwipeBetweenViewControllers - 页面滑动和标签选项卡类库。
  • FriendSearch - 两种UI的搜索,搜索的算法可以满足中英文互搜,联想搜索等,其中还包含对一组数据自动进行按字母分组等功能。
  • YX_UITableView_IN_UITableView - UITableview嵌套UITableView案例实践(仿淘宝商品详情页实现),项目讲解
  • TYPagerController - 简单,支持定制,页面控制器,可以滚动内容和标题栏,包含多种style。
  • YZHeaderScaleImage一行代码快速集成tableView中头部缩放视图
  • ExpandTableView 可折叠展开的tableView,QQ好友分组列表。
  • SwipeTableView Both scroll horizontal and vertical for segment scrollview which have a same header. — 类似半糖、美丽说主页与QQ音乐歌曲列表布局效果,实现不同菜单的左右滑动切换,同时支持类似tableview的顶部工具栏悬停(既可以左右滑动,又可以上下滑动)。兼容下拉刷新,自定义 collectionview实现自适应 contentSize 还可实现瀑布流功能

CollectionView

隐藏与显示

  • SlideTapBar - 滚动栏菜单,向上滚动时隐藏tabbar,向下滚动马上显示tabbar。
  • FoldingTabBar.iOS - 可折叠Tab Bar和Tab Bar Controller。
  • LTNavigationBar 叠。实现教程
  • KMNavigationBarTransition - LTNavigationBar在右滑返回的时候NavigationBar显示都不完美,KMNavigationBarTransition一个用来统一管理导航栏转场以及当 push 或者 pop 的时候使动画效果更加顺滑的通用库,并且同时支持竖屏和横屏。
  • HYNavBarHidden - 导航条滚动透明,超简单好用的监听滚动,导航条渐隐的UI效果实现。
  • BLKFlexibleHeightBar - 非常赞,是一个使导航栏高度可以动态变化的 UI 库。固定Header的效果库,一个拥有非常灵活高度的标题栏,可以为使用软件的用户提供更多的阅读和滑动空间,现在已经被众多app所采用。
  • JXT_iOS_Demos - AboutNavigationBar:一些关于navigationBar的非常规的但是较为实用的操作,包括利用毛玻璃、动态透明、动态隐藏,以及头视图的动态缩放,并同时涉及了statusBar的动态设置(换色)。教程
  • NavigationBarScaleViewDemo - iOS导航条自由缩放头像效果。原理剖析

HUD与Toast

  • MBProgressHUD - 非常赞 最多人用的loading。
  • SVProgressHUD - 非常赞 SVProgressHUD的loading,如果你需要定制化的等待提示器,这个就是了(也许是最好的)。
  • Toast An Objective-C category that adds toast notifications to the UIView object class.
  • EBuyCommon - 1.基于MBProgressHUD实现得图形加载提示方式,及其它标题方式提醒。2.弹窗。
  • WZDraggableSwitchHeaderViewShow status for transition across viewControllers.
  • ProgressHUD - ProgressHUD的loading,使用最简单。
  • MMProgressHUD - 设置HUD出现和消失的方式(包括上下、左右、淡入淡出、放大缩小等等),设置HUD的内容(可以在HUD中加入帧动画、动态图片等等),设置HUD出现时的底部覆盖层颜色,等等。总而言之,这是一份集大成的HUD代码。慢慢看视频吧,囊括了所有效果。
  • WSProgressHUD - 一个小巧精致的HUD,支持添加到自定义View上, 还有更多小细节.。
  • PreLoader - 一个很有意思的HUD loading ,通过运动污点和固定污点之间的粘黏动画吸引用户的眼球跟踪,能有效分散等待注意力。PreLoader的实现讲解
  • FillableLoaders - 自定义加载进度UI-Completely customizable progress based loaders drawn using custom CGPaths written in Swift 🔶

对话框

  • LCActionSheet 一款简约而不失强大的 ActionSheet,微信和微博都采取了极其类似的样式。
  • 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。
  • PSTAlertController - 兼容 iOS7的 XXAlertController,接口跟UIAlertController 一模一样,做到高低版本通用。
  • PCLBlurEffectAlert.swfit - 细节定制较丰富的弹出警报窗口组件。
  • GSAlert.swfit - 苹果在iOS8推出了全新的UIAlertController,旧的UIAlertView和UIActionSheet渐渐被废弃,但如果你仍然支持iOS7系统,你将不得不写两套代码。GSAlert解决了这个问题。
  • SweetAlert-iOS - SweetAlert-iOS 带动画效果弹窗对话框封装类。
  • CCActionSheet - CCActionSheet:仿照微信朋友圈自定义actionsheet,一行代码即可使用。
  • CustomPopOverView - 自定义弹出视图,内容支持传一组菜单标题,也支持自定义view,或者自定义viewController,支持任意按钮触发,会显示在按钮底部,也支持切换按钮的对齐方式:左对齐、居中、右对齐。
  • TOActionSheet 是一个 iOS UI 控件,提供一个模态提示控制,类似于 UIActionSheet。不同于 UIActionSheet 的是,它可以深度重设主题,通过对每个按钮使用块来避免委托模式

Pop

  • AMPopTip 一个可以定义frame的带动画的popover. An animated popover that pops out a given frame, great for subtle UI tips and onboarding.
  • DXPopover 很赞 DXPopover微信右上角的+点击展示列表效果,弹窗菜单。 A Popover mimic Facebook app popover using UIKit
  • LewPopupViewController ios 弹出视图
  • PopMenu - 用POP动画引擎写的Sina微博的Menu菜单。
  • MLMOptionSelectView 弹出-选择-展示框

状态栏

  • MTStatusBarOverlay MTStatusBarOverlay 是一个定制的 iOS 状态栏,用于覆盖系统默认的状态栏,类似 Reeder, Evernote and Google Mobile App。支持两种点击动作:1. 当用户点击状态栏时,状态栏会收缩,仅仅遮盖住状态栏右方的电池图标;2. 当用户点击状态栏时,一个有详细信息的视图会从系统状态栏中下拉出现。

导航栏

  • AMScrollingNavbar 一个可以上拉隐藏导航栏和下拉显示导航栏的框架
  • JTNavigationController 一个拥有更平滑的navigationBar切换动画的NavigationController
  • NavigationController 实现类似微信的 webView 导航效果,包括进度条,左滑返回上个网页或者直接关闭,就像 UINavigationController

设置

  • InAppSettingsKit InAppSettingsKit 是一款功能强大的ios设置组件,可以满足各种各样的app设置需求。
  • ViralSwitch A UISwitch that infects its superview with its tint color.

Switch

  • JTMaterialSwitch A Customizable Switch UI for iOS, Inspired from Google's Material Design

Label

  • PPCounter - 一款简单实用的数字加减动画,支持UILabel、UIButton显示

Search

  • PYSearch 非常赞 An elegant search controller for iOS.
  • CustomSearchBar - 自定义searchbar,类似于instagram的搜索框效果。

Category

  • UIScrollView-InfiniteScroll 滚动视图无限滚动分类 UIScrollView infinite scroll category
  • LTNavigationBar 允许改变导航栏appearance dynamically的分类 UINavigationBar Category which allows you to change its appearance dynamically
  • BlocksKit block框架,为 OC 常用类提供了强大的 Block 语法支持,使得编写 OC 代码变得舒适、快速、优雅。 The Objective-C block utilities you always wish you had.

主题

  • LEETheme 优雅的主题管理库- 一行代码完成多样式切换
  • PYTheme PYTheme通过NSObject的分类实现使用简单的主题更换。 An easy way to change theme through NSObject's category for iOS.

电影选座

  • ZFSeatsSelection 高仿猫眼电影选座(选票)模块(High imitation opal film seat selection (vote) module)
  • FVSeatsPicker FVSeatsPicker是一个高性能的选座框架,可以直接pod引入,使用时可以直接当做View添加到任何视图控件内部!

瀑布流

  • CHTCollectionViewWaterfallLayout 赞 UICollectionViewLayout的一个子类,尽可能地模仿了UICollectionViewFlowLayout的用法,灵感来源于Pinterest,同时还兼容PSTCollectionView。

菜单

  • JSDBanTangHomeDemo 真正的仿半塘首页效果,半糖首页核心技术解析。
  • HACursor 帮助开发者方便集成导航指示器,用于管理视图页面
  • ZTPageController 模仿网易新闻和其他新闻样式做的一个菜单栏,栏中有各自的控制器。 不建议用VC做展示,具体可以参考我最近写的
  • circle-menu 赞 一个不错的旋转点击菜单,类似于遥控器的上下左右中点击样式
  • KYGooeyMenu - KYGooeyMenu 是一个具有 Gooey Effects 带粘性的扇形菜单控件(卫星菜单、path)。
  • DCPathButton - Path,4.0的弹出菜单,呼出或者关闭菜单时,多个小图标会分别按照逆时针和顺时针的方向进行滚动。
  • 类似美团的下拉选项 - 类似于美团、大众点评的下拉菜单选项,code4app代码,评论代码有瑕疵。

TabBar

  • DLSlideView DLSlideView对常见的顶部Tab页点击、滑动分页做了封装。 它使用基于ViewController的container特性(而不是scrollview)来管理各个子页面,保留原始的系统消息,没有隐患。 同时内存模型更优于使用scrollview的方式,理论上可以支持无限分页。
  • 仿淘宝闲鱼的 TabBar

小红点

  • WZLBadge - 小红点,Badge,支持横竖屏支持iOS5~iOS8允许高度定制化,包括“红点”的背景颜色,文字(字体大小、颜色),位置等。说明.

page

  • PageMenu A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram)
  • MXSegmentedPager 分页滚动,多个分页的pageController效果
  • XHTwitterPaggingViewer A twitter like navigation bar, page viewer.

轮播

  • iCarousel 非常赞 作者是英国 Charcoal Design 公司的创始人, 开源领域的贡献颇为卓著, 这个项目就是其中之一, 这是一款可以在 iOS 上实现旋转木马视图切换效果的第三方控件, 并提供多种切换效果。是一个使用简单、高度自定义的多类型视图切换的控件,支持iOS/Mac OS、ARC & Thread Safety; A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS
  • SDCycleScrollView - 无限循环自动图片轮播器(一步设置即可使用)。
  • HYBLoopScrollView 一行代码接入轮播组件,自带图片下载、缓存相关功能,无任何第三方依赖、轻量级组件。

选择器

  • ASDayPicker - 适用于iOS (iPhone)的日期选择器(时间选择器),类似于Calendar app的周视图。
  • HSDatePickerViewController - 带有Dropbox Mailbox感觉的时间日期选择器(时间选择器)。启动是背景被模糊化。界面也是主流的扁平化风格。
  • HZQDatePickerView - 自定义时间选择器(日期选择器),包括开始日期和结束日期两种类型。
  • CFCityPickerVC - 城市选取控制器。
  • JFCitySelector (仿美团)简单好用的城市选择器,三行代码搞定!

购物车

  • ShoppingCartExample - 购物车最多star demo。
  • shoppingCart1 - 仿美团购物车效果。
  • ZFShoppingCart - 仿照美团外卖加入购物车的动态效果。
  • shoppingCart2 - 一个购物车demo,包含购物车动画效果、购物车多选、删除、编辑等功能。
  • shoppingCart-demo - 一个简单的购物车功能实现demo。
  • iOS_oShoppingCart_Demo - 简单实现购物车常见的筛选功能。
  • XNQShoppingTrolley - 购物车功能 基本功能仿照淘宝的购物车。
  • ShoppingDemo - iOS仿美团外卖饿了吗App点餐动画,购物车。
  • shopCarDemobyCX - shopCarDemobyCX一个简易购物车效果,最重要的是可以分单结算,分单个商品结算,代理是主要技术。
  • MVVM KVO购物车 - MVVM KVO 购物车(一处计算总价钱)。
  • CartDemo - CartDemo比较完整的购物车界面及逻辑,商品展示,多选,单选,全选及滑动删除,价格计算。

进度

  • LiquidFloatingActionButton - 卫星弹出菜单。

  • NVActivityIndicatorView - loading 进度条动画,有20-30多种,是在此DGActivityIndicatorView 基础上做得修改。

  • YLProgressBar UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics

  • NJKWebViewProgress - 很赞 一个 UIWebView 的进度条接口库,UIWebView 本身是不提供进度条的。

  • UAProgressView 很赞 的一个进度指示View

  • AwesomeMenu - 最多人用的Path菜单。

  • ZFProgressView A simple digit progress view.(version1.3 使用GCD定时器代替NSTimer,避免内存泄露问题)

  • WaveLoadingView - iOS 唯一完美的波浪进度加载指示器,实现说明

  • JZMultiChoicesCircleButton - 三维多选按钮。

  • ASProgressPopUpView - 弹出的进度条显示进度。

  • TwitterPaggingViewer - 多个Tableview,左右滑动。

  • CircularProgressControl - Circular Progress Control using CAShapeLayer ,环形进度控制条。

  • SDProgressView - 简便美观的进度指示器,此系列共有六种样式的进度指示器。

  • LoopProgressDemo - 环形渐变进度条,环形渐变进度条实现

  • MDCSwipeToChoose - MDCSwipeToChoose可简单地添加滑动手势来调用UIView,并使用该行为提供了一个组件以创建类似Tinder app的like或者dislike界面的轻扫。基于轻扫的方向,你可以决定执行什么样的行为,并且你可以自定义文本颜色和图片。该项目适用于教学用的抽认卡、图片查看器以及其他等。

  • Material-Controls-For-iOS - Material Design风格的各种控件,非常完整全面。

  • MediumScrollFullScreen - Medium的可扩展滚动页面,上下滚动时,全屏显示内容,并自然消隐上下菜单。由此项目感知,作者是一位很注重细节的开发者,他的另外几个菜单类项目也都不错,值得参考,比如:PathMenu, MediumMenu 等。

  • today extension - 用纯代码构建一个Widget(today extension) 。

  • PDTSimpleCalendar - 是iOS最棒的日历组件了。你可以在各个方面对它进行定制,无论是运行逻辑还是外观方面。

  • Form - JSON 驱动的 Form表单系统,复杂的表单填写类 App 极其需要(比如淘宝呢!)。

  • ImagePickerSheetController - 图片或视频选择器(可多选)组件及其示例项目。

  • ImagePickerSheet - 图片或视频选择器(可多选)组件及其示例项目。

  • RKNotificationHub - 快速给 UIView 添加上炫酷的通知图标(Badge、红点、提示)。

  • BLEProgressView使用pop实现动画的进度条

  • ZZCircleProgress draw rect实现的圆形进度条。可以使用部分圆弧当做整个进度条,并可以随意设置起始角度及减少的圆弧角度大小。

  • BubbleTransition - 以气泡膨胀和缩小的动画效果来显示和移除 controller,Uber的就是这种取消操作的方式。

  • [KYFloatingBubble](https://github .com/KittenYang/KYFloatingBubble) - 类似iOS7中Game Center浮动气泡的效果。

  • DKNightVersion - DKNightVersion 是一个支持夜间模式切换的框架。

  • EasyUIControl - 一个可以简化界面ui的控件框架。

  • QQBtn - 仿QQ未读消息弹性按钮动画,达到和手机QQ未读信息一样的动画效果,效果基本实现。

  • TZStackView - OS 9 UIStackView 功能模拟实现于 iOS 7/ iOS 8 内。

  • Ruler - 尺子。

  • HUMSlider - HUMSlider是一款能够自动显示刻度记号的滑竿,滑动到某处,该处的刻度会自动上升,两边还能配置图像。支持代码或storyboard中实现。

  • JDSelectedDemo - 仿京东筛选菜单实现。

  • 3DTouchDemo - 详细介绍了每个参数的含义和3Dtouch的入口,保证包学包会。

  • 3DTouchSample - 3D-Touch的功能分为两个部分:Shortcut和Preview。

  • SBShortcutMenuSimulator - 教你如何在模拟器上测试 3D Touch 功能!

  • 仿LOL滚动视图 - 仿LOL滚动视图。

  • 答题选择切换页 - 将scrollview和tableview封装在一起,在初始化的时候简单的将数据带上,就可以一页一页的左右来回滑动。

  • SCTrelloNavigation - 类似trello的导航动效控件实现。

  • XTPaster - 贴纸功能出现在很多图片社交中, 就是图片上面贴图片, 对贴纸而言就是需要控制贴纸的位置,旋转,大小,如何使用

  • RGCategoryView - 仿了个苏宁易购的分类页面。

  • LLPieCharts - LLPieCharts iOS 绘制饼图,教程

  • BEMCheckBox - BEMCheckBox 是一个用于 iOS 应用上构建漂亮, 高度可定制化动画效果的复选框类库, 最低支持到 iOS 7 系统, 有多种不同风格的动画效果可供选择。

  • STPopup - 提供了一个可在 iPhone 和 iPad 上使用的具有 UINavigationController 弹出效果的 STPopupController 类, 并能在 Storyboard 上很好的工。

  • VBFPopFlatButton - 通过几条线段实现的非常Q萌的动画按钮效果。

  • LNPopupController - AppleMusic式pop up,弹出是页面,可以上下拉动。

  • DGRunkeeperSwitch - 动画segment,节选器。

  • DynamicMaskSegmentSwitch - 一个简单有趣的 SegmentedControl 节选器。

  • YXFilmSelectView - 仿造时光网选择电影票的UI而开发的一个自定义View。

  • FJTagCollectionView - 标签(适配宽度)。

  • DFTimelineView - DFTimelineView仿微信朋友圈 时间轴。

  • HYBImageCliped - 可给任意继承UIView的控件添加任意多个圆角、可根据颜色生成图片且可带任意个圆角、给UIButton设置不同状态下的图片且可带任意圆角、给UIImageView设置任意图片,支持带圆角或者直接生成圆形。

  • StackViewController - 方便 iOS 开发者使用 UIStackView 构建表单或其它静态内容视图。

  • LLBootstrapButton - Bootstrap 3.0扁平化风格按钮,自带图标,一句代码直接调用!

  • JMRoundedCorner - UIView设置不触发离屏渲染的圆角!

  • KNCirclePercentView 一个自定义动画的圆形进度View

网络

网络连接

  • AFNetworking - ASI不升级以后,最多人用的网络连接开源库 iOS开发下载文件速度计算 , AFNetworking 3.0迁移指南 , AFNetworking2.0源码解析<一>AFNetworking2.0源码解析<二>AFNetworking源码解析<三>AFNetworking源码解析<四>
  • YTKNetwork - 是基于 AFNetworking 封装的 iOS网络库,提供了更高层次的网络访问抽象。相比AFNetworking,YTKNetwork提供了以下更高级的功能:按时间或版本号缓存网络请求内容、检查返回 JSON 内容的合法性、文件的断点续传、批量的网络请求发送、filter和插件机制等。
  • HYBNetworking - 基于AFN封装的网络库,可以通用。基于AFNetworking封装网络库说明目前已经提供了通用的GET/POST、上传、下载API等。
  • LxFTPRequest - 支持获取FTP服务器资源列表,下载/上传文件,创建/销毁ftp服务器文件/目录,以及下载断点续传,下载/上传进度,自动判断地址格式合法性跟踪等功能!国人开发,QQ:349124555。
  • HSDownloadManager - HSDownloadManager,下载音乐、视频、图片各种资源,支持多任务、断点下载。
  • MutableUploadDemo - 模拟需求:图文混编,要求用户选择图片后就上传,可选择多图,并行上传,用户确定提交后后台执行,必须全部图片上传完才能提交文字。
  • WTRequestCenter - 方便缓存的请求库,提供了方便的HTTP请求方法,传入请求url和参数,返回成功和失败的回调。 UIKit扩展提供了许多不错的方法,快速缓存图片,图片查看,缩放功能, 颜色创建,设备UUID,网页缓存,数据缓存等功能。 无需任何import和配置,目前实现了基础需求。
  • MMWormhole - Message passing between iOS apps and extensions 2个iOS设备之间通信。
  • STNetTaskQueue - STNetTaskQueue Objective-C 可扩展网络请求管理库。
  • MZDownloadManager - 下载管理。
  • DVR - 针对网络请求的测试框架,超实用的工具。且支持 iOS, OSX, watchOS 全平台。
  • HFDownLoad - iOS开发网络篇之文件下载、大文件下载、断点下载:NSData方式、NSURLConnection方式、NSURLSession下载方式 下载方式具体的思路、区别见Blog
  • PPNetworkHelper - AFN3.x与YYCache的二次封装,一句话搞定网络请求与缓存,和FMDB说拜拜!

socket

网络解析

JSON

  • MJExtension - 用于json转model进行使用,转换效率很高,使用也比较简单,只要前后台约定好,json直接就转成了model。
  • YYModel - High performance model framework for iOS/OSX.
  • jsonmodel Magical Data Modeling Framework for JSON - allows rapid creation of smart data models. You can use it in your iOS, macOS, watchOS and tvOS apps.
  • JSONKit - JSONKit库是非常简单易用而且效率又比较高的,重要的JSONKit适用于ios 5.0以下的版本,使用JSONKit库来解析json文件,只需要下载JSONKit.h 和JSONKit.m添加到工程中;然后加入libz.dylib即可。
  • JSONModel - 解析服务器返回的Json数据的库,JSONModel源码解析一
  • Mantle - Mantle主要用来将JSON数据模型化为OC对象, 大系统中使用。为什么选择Mantle
  • RFJModel - RFJModel是一个IOS类库,可以将JSON字典自动装填到OBJC对象。相比JSONModel有一些非常好的特性,使用上也比较简单。
  • XMLDictionary - ios与mac os平台下xml与NSDictionary相互转化开源类库。
  • DDModel - 快速搭建项目Model层,支持ORM映射关系,能从JSON/XML直接实例一个Model对象。支持SQLite本地数据持久化,封装了HTTP, 减少HTTP代码与UIViewController的代码耦合,支持Cache;类似RESTKit、Mantle的功能;使用该类库以后简化了网络层的开发工作,把更多的精力放在UI上面;目前只支持GET/POST方法的请求。使用到的第三方库有:1.SQLitePersistentObject; 2.JTObjectMapping; 3.AFNetworking;