常用第三方
今天就给大家总结一下,我们在项目中用到最多的第三方,免去了大家花时间去搜索,在这里大家进行了全面的总结.
1. 编程框架
1:基于响应式编程思想的oc
地址:https://github.com/ReactiveCocoa/ReactiveCocoa
2:iOS快速简单集成国内三大平台分享
地址:https://github.com/xumeng/XMShareModule
2. 加载提示
1:hud提示框
地址:https://github.com/jdg/MBProgressHUD
2:状态栏提示框
地址:https://github.com/jaydee3/JDStatusBarNotification
3:弹出窗
地址:https://github.com/sberrevoets/SDCAlertView
4:下拉上拉刷数据
地址:https://github.com/CoderMJLee/MJRefresh
5:下拉菜单插件
地址:https://github.com/dopcn/DOPDropDownMenu/
6:CBStoreHouseRefreshControl:一个效果很酷炫的下拉刷新控件
地址:https://github.com/coolbeet/CBStoreHouseRefreshControl
3. 控件布局
1:有文字输入时,能根据键盘是否弹出来调整自身显示内容的位置
地址:https://github.com/michaeltyson/TPKeyboardAvoiding
2:Masonry代码布局
地址:https://github.com/SnapKit/Masonry
3:Button的样式
地址:https://github.com/mattlawer/BButton
4:五项能力值展示的五边形
地址:https://github.com/dsxNiubility/SXFiveScoreShow
5:自动计算表格行高
地址:https://github.com/forkingdog/UITableView-FDTemplateLayoutCell
6:底部TabBar
地址:https://github.com/robbdimitrov/RDVTabBarController
7:表情面版
地址:https://github.com/ayushgoel/AGEmojiKeyboard
8:记录框架
地址:https://github.com/CocoaLumberjack/CocoaLumberjack
9:基于Masonry自动计算行高扩展
地址:https://github.com/632840804/HYBMasonryAutoCellHeight
10:给任意UIView视图四条边框加上阴影,可以自定义阴影的颜色、粗细程度、透明程度以及位置(上下左右边框)
地址:https://github.com/Seitk/UIView-Shadow-Maker
3. 图片处理
1:图片加载
地址:https://github.com/rs/SDWebImage
14:动画效果的启动页
地址:https://github.com/IFTTT/JazzHands
4. 表单验证
1:自动识别网址号码邮箱和表情的label
地址:https://github.com/molon/MLEmojiLabel
2:IM对话功能的封装
地址:https://github.com/ZhipingYang/UUChatTableView
3:字典转模型框架
地址:https://github.com/CoderMJLee/MJExtension
5. 网络检查
1:验证网络连接状态
地址:https://github.com/tonymillion/Reachability
2:block工具包。将很多需要用delegate实现的方法整合成了block的形式
地址:https://github.com/zwaldowski/BlocksKit
6.图表展示
1:图表统计展示
地址:https://github.com/kevinzhow/PNChart
2:表格空白提示插件
地址:https://github.com/dzenbot/DZNEmptyDataSet
7: 时间日历
1:时间帮助插件,可以快速获取时间,比较,增加等操作
地址:https://github.com/MatthewYork/DateTools
2:不错的日期时间插件
地址:https://github.com/CoderXL/UUDatePicker
8:引导图
1:比较不错的引导页面插件
地址:https://github.com/ealeksandrov/EAIntroView
2:快速集成新手引导的类库
地址:https://github.com/StrongX/XSportLight
3:设置页面的封装
地址:https://github.com/renzifeng/ZFSetting
9: 二维码
1:扫描二维码,仿微信效果,带有扫描条
地址:https://github.com/JxbSir/JxbScanQR
2、ZBar
ZBar 是款桌面电脑用条形码/二维码扫描工具,支持摄像头及图片扫描,支持多平台包括 iPhone 手机。同时 ZBar提供了二维码扫描的 API 开发包。
https://github.com/ZBar/ZBar
3、ObjQREncoder
ObjQREncoder 是 Objective-C 的二维码的编码器,用于生成二维码图像。
https://github.com/jverkoey/ObjQREncoder
9: 与HTML5交互
1:IOS与JavaScript交互
地址:https://github.com/marcuswestin/WebViewJavascriptBridge
10: 搜索跳转
1:搜索历史标签
地址:https://github.com/zhiwupei/SearchHistory
2:两个APP跳转的插件
地址:https://github.com/usebutton/DeepLinkKit
3: 不错的链式动作
地址:https://github.com/jhurray/JHChainableAnimations
11:数据存储转化
1:本地存取NSUserDefaults插件
地址:https://github.com/gangverk/GVUserDefaults
2:NSArray 和 NSDictionary关于LINQ的操作方式,封装一些常用的操作
地址:https://github.com/ColinEberhardt/LinqToObjectiveC
12: 评分
1:appStore评分
地址:https://github.com/arashpayan/appirater
12. 网络请求
1、ASIHTTPRequest
这是一个经典的老库,功能完全而强大,但已经停止更新很久了(iOS5.0停止更新,但是我最近看github上这个项目有新改动)。在不同iOS版本上略微有一些小问题(提醒显示上的),所以用的时候还是稍微修改一下比较好。
下载地址:https://github.com/pokeb/asi-http-request
2、AFNetworking
轻量级的通讯类库,使用非常简单。
下载地址:https://github.com/AFNetworking/AFNetworking
3、MKNetworkKit
最近做的不错的一个通讯类库,具有AFNetworking和ASIHTTPRequest双方的优点,甚至功能更丰富一些,但是本人还没有使用过。
下载地址:https://github.com/MugunthKumar/MKNetworkKit
4、可以监控网络请求的内容
地址:https://github.com/coderyi/NetworkEye
5:一个开源的AFnetworking上层的封装(猿题库等运用)
地址:https://github.com/yuantiku/YTKNetwork
6:AFNetworking-RACExtensions:针对ReactiveCocoa的AF封装
地址:https://github.com/CodaFi/AFNetworking-RACExtensions
13. Socket
1、CocoaAsyncSocket
CocoaAsyncSocket是用的最广泛的socket开发库,省略了程序员与CFNetwork接触的时间,延长了程序员寿命。
下载地址:https://github.com/robbiehanson/CocoaAsyncSocket
2、SocketRocket
SocketRocket是Square开发的一个实现webSocket的库,可以轻松的实现即时通信。
下载地址:https://github.com/square/SocketRocket
14. 数据解析
1、SBJSON
SBJson的解析速度其实是比较慢的,但是不知道为什么它却是用的最广的。
下载地址:
2、JSONKit
JSONKit解析速度上最接近iOS原生解析类,当然iOS5.0才开始支持原生解析,所以选择一个库还是很必要的。
下载地址:https://github.com/johnezang/JSONKit
3、TouchJSON
TouchJSON用的也比较广泛.
下载地址:https://github.com/TouchCode/TouchJSON
4、json-framework
没有用过。
下载地址:https://github.com/stig/json-framework
5、TBXML
TBXML是一套轻量级的DOM方式的XML解析类库,有很好的性能和低内存占用,不过它不对XML格式进行校验,不支持XPath,并且只支持解析,不支持对XML进行修改。
下载地址:https://github.com/71squared/TBXML
6、TouchXML
TouchXML这也是一套DOM方式的XML解析类库,支持XPath,不支持XML的修改。
下载地址:https://github.com/TouchCode/TouchXML
7、KissXML
KissXML这是一套基于TouchXML的XML解析类库,只不过实现了支持XML的修改。
下载地址:https://github.com/robbiehanson/KissXML
8、GDataXML
GDataXML是Google开发的DOM方式XML解析类库,支持读取和修改XML文档,支持XPath方式查询。
9:XML/HTML解析
地址:https://github.com/topfunky/hpple
15. 第三方管理
1、fmdb
fmdb是一个数据库管理库,封装了sqlite相关的sql语句,简化数据库操作。
下载地址:https://github.com/ccgus/fmdb
2、ssziparchive
ssziparchive与sstoolkit是同一个作者,这哥们儿简直是个天才。
https://github.com/soffes/ssziparchive
3、ZipArchive
ZipArchive同样是minizip的封装。
https://github.com/mattconnolly/ZipArchive
4、Objective-Zip
Objective-Zip将Zlib和MiniZip用Objective-C进行了封装,使用起来非常简单。
https://github.com/flyingdolphinstudio/Objective-Zip
5、zxing
zxing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、DataMatrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端。
https://github.com/zxing/zxing
6、OpenUDID
OpenUDID是iOS禁止使用系统UDID之后的新解决方法。
https://github.com/ylechelle/OpenUDID
7、RegexKitLite
RegexKitLite 是一个轻量级的 Objective-C 的正则表达式库,支持 Mac OS X 和 iOS,使用ICU 库开发。
https://github.com/wezm/RegexKitLite
8、STUtils
STUtils是一系列的工具集,包含了很多对于iOS原生类的扩展,当然也包含一个用于安全保存用户密码STKeyChain。
https://github.com/ldandersen/STUtils
9、scifihifi-iphone
scifihifi-iphone用于安全保存用户密码到keychain中。
https://github.com/ldandersen/scifihifi-iphone
10、sskeychain
sskeychain同scifihifi-iphone一样,不过属于轻量级。
https://github.com/soffes/sskeychain
11、SDWebImage
SDWebImage调用网站上的图片,跟本地调用内置在应用包里的图片一样简单。操作也很简单。
https://github.com/rs/SDWebImage
12、umeng
umeng既有统计分析,也有社会化组件。但是统计分析的用户数似乎明显多于其社会化组件的用户。
http://dev.umeng.com/analytics/ios/sdk-download
16. 动画特效
1:弹出层视图,背景效果(可以自定义视图的内容)
地址:https://github.com/HJaycee/JCAlertView
2:圆形进度条的显示,中间可显示值
地址:https://github.com/mdinacci/MDRadialProgress
3:很帅的数据加载动画(可以用于数据列表加载的展现)
地址:https://github.com/NghiaTranUIT/FeSpinner
4:图文混搭
地址:https://github.com/zhouande/TLAttributedLabel
5:可以简单展示在UINavigationBar下方,类似Music app的播放列表视图,弹出菜单视图
地址:https://github.com/DrummerB/BFNavigationBarDrawer
6:比如筛选、模糊、优化、蒙版、调整大小、旋转以及保存等等。同时还提供了一个UIImageView子类从URL异步加载图片,并在下载完毕时展示图片。
地址:https://github.com/Nyx0uf/NYXImagesKit
7:动效弹出视图(弹出窗里面为文字,可以定义弹出的方向,及显示的时间)–AMPopTip
地址:https://github.com/andreamazz/AMPopTip
8:模仿新浪微博弹出菜单
地址:https://github.com/wwdc14/HyPopMenuView
9:带箭头的弹出视图插件
地址:https://github.com/xiekw2010/DXPopover
10:底部弹出选择
地址:https://github.com/skywinder/ActionSheetPicker-3.0
11:模糊效果(毛玻璃)
地址:https://github.com/nicklockwood/FXBlurView
12:表格行左右划动菜单
地址:https://github.com/MortimerGoro/MGSwipeTableCell
二 iOS常见分类
一些必要的类别iOS开发。包括的NSDate,的NSString,NSUserDefaults的,和的UIColor帮助UIImage的方法。
1. NSDate
<code class="hljs erlang has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;"><span class="hljs-pp" style="box-sizing: border-box;">-<span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(<span class="hljs-variable" style="box-sizing: border-box;">NSString</span> *)</span>formatWithString:<span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(<span class="hljs-variable" style="box-sizing: border-box;">NSString</span> *)</span>format;
-<span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(<span class="hljs-variable" style="box-sizing: border-box;">NSString</span> *)</span>formatWithStyle:<span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(<span class="hljs-variable" style="box-sizing: border-box;">NSDateFormatterStyle</span>)</span>style;
-<span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(<span class="hljs-variable" style="box-sizing: border-box;">NSString</span> *)</span>distanceOfTimeInWords;
-<span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(<span class="hljs-variable" style="box-sizing: border-box;">NSString</span> *)</span>distanceOfTimeInWords:<span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(<span class="hljs-variable" style="box-sizing: border-box;">NSDate</span> *)</span>date;</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li></ul>
2. NSString
<code class="hljs haml has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">-<span class="ruby" style="box-sizing: border-box;">(<span class="hljs-constant" style="box-sizing: border-box;">NSString</span> *)<span class="hljs-constant" style="box-sizing: border-box;">MD5</span>;
</span>-<span class="ruby" style="box-sizing: border-box;">(<span class="hljs-constant" style="box-sizing: border-box;">NSString</span> *)sha1;
</span>-<span class="ruby" style="box-sizing: border-box;">(<span class="hljs-constant" style="box-sizing: border-box;">NSString</span> *)reverse;
</span>-<span class="ruby" style="box-sizing: border-box;">(<span class="hljs-constant" style="box-sizing: border-box;">NSString</span> *)<span class="hljs-constant" style="box-sizing: border-box;">URLEncode</span>;
</span>-<span class="ruby" style="box-sizing: border-box;">(<span class="hljs-constant" style="box-sizing: border-box;">NSString</span> *)<span class="hljs-constant" style="box-sizing: border-box;">URLDecode</span>;
</span>-<span class="ruby" style="box-sizing: border-box;">(<span class="hljs-constant" style="box-sizing: border-box;">NSString</span> *)stringByStrippingWhitespace;
</span>-<span class="ruby" style="box-sizing: border-box;">(<span class="hljs-constant" style="box-sizing: border-box;">NSString</span> *)<span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">substringFrom:</span>(<span class="hljs-constant" style="box-sizing: border-box;">NSInteger</span>)from <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">to:</span>(<span class="hljs-constant" style="box-sizing: border-box;">NSInteger</span>)to;
</span>-<span class="ruby" style="box-sizing: border-box;">(<span class="hljs-constant" style="box-sizing: border-box;">NSString</span> *)<span class="hljs-constant" style="box-sizing: border-box;">CapitalizeFirst</span><span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span>(<span class="hljs-constant" style="box-sizing: border-box;">NSString</span> *)source;
</span>-<span class="ruby" style="box-sizing: border-box;">(<span class="hljs-constant" style="box-sizing: border-box;">NSString</span> *)<span class="hljs-constant" style="box-sizing: border-box;">UnderscoresToCamelCase</span><span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span>(<span class="hljs-constant" style="box-sizing: border-box;">NSString</span>*)underscores;
</span>-<span class="ruby" style="box-sizing: border-box;">(<span class="hljs-constant" style="box-sizing: border-box;">NSString</span> *)<span class="hljs-constant" style="box-sizing: border-box;">CamelCaseToUnderscores</span><span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span>(<span class="hljs-constant" style="box-sizing: border-box;">NSString</span> *)input;
</span>-<span class="ruby" style="box-sizing: border-box;">(<span class="hljs-constant" style="box-sizing: border-box;">NSUInteger</span>)countWords;
</span>-<span class="ruby" style="box-sizing: border-box;">(<span class="hljs-constant" style="box-sizing: border-box;">BOOL</span>)<span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">contains:</span>(<span class="hljs-constant" style="box-sizing: border-box;">NSString</span> *)string;
</span>-<span class="ruby" style="box-sizing: border-box;">(<span class="hljs-constant" style="box-sizing: border-box;">BOOL</span>)isBlank;</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li></ul>
3. NSUserDefaults
<code class="hljs objectivec has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">+(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span>)saveObject:(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">id</span>)object forKey:(<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NSString</span> *)key;
+(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">id</span>)retrieveObjectForKey:(<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NSString</span> *)key;
+(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span>)deleteObjectForKey:(<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NSString</span> *)key;</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul>
4. UIColor
<code class="hljs perl has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">+(UIColor <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">*)</span>colorWithHex:(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>)<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">hex</span>;</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>
5. UIImage + GIF
<code class="hljs objectivec has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">+(<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">UIImage</span> *)animatedImageWithAnimatedGIFData:(NSData *)theData;
+(<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">UIImage</span> *)animatedImageWithAnimatedGIFURL:(<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NSURL</span> *)theURL;</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>
下载地址:http://download.csdn.net/detail/baihuaxiu123/9509303
三 辅助软件
1:XCODE文档注解插件VVDocumenter
地址:https://github.com/onevcat/VVDocumenter-Xcode
2:将JSON格式化输出为模型的属性
地址:https://github.com/EnjoySR/ESJsonFormat-Xcode
3:图片提示插件
地址:https://github.com/ksuther/KSImageNamed-Xcode
4:图片转换插件
地址:https://github.com/rickytan/RTImageAssets