YYKit ============== [![License MIT](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://raw.githubusercontent.com/ibireme/YYKit/master/LICENSE)  [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)  [![CocoaPods](http://img.shields.io/cocoapods/v/YYKit.svg?style=flat)](http://cocoapods.org/?q=YYKit)  [![CocoaPods](http://img.shields.io/cocoapods/p/YYKit.svg?style=flat)](http://cocoapods.org/?q=YYKit)  [![Support](https://img.shields.io/badge/support-iOS%206%2B%20-blue.svg?style=flat)](https://www.apple.com/nl/ios/)  [![Build Status](https://travis-ci.org/ibireme/YYKit.svg?branch=master)](https://travis-ci.org/ibireme/YYKit) YYKit is a collection of iOS components. It's so huge that I split it into several independent components: * [YYModel](https://github.com/ibireme/YYModel) — High performance model framework for iOS. * [YYCache](https://github.com/ibireme/YYCache) — High performance cache framework for iOS. * [YYImage](https://github.com/ibireme/YYImage) — Image framework for iOS to display/encode/decode animated WebP, APNG, GIF. * [YYWebImage](https://github.com/ibireme/YYWebImage) — Asynchronous image loading framework. * [YYText](https://github.com/ibireme/YYText) — Powerful rich text component for iOS. * [YYKeyboardManager](https://github.com/ibireme/YYKeyboardManager) — Access keyboard view and track keyboard animation. * [YYDispatchQueuePool](https://github.com/ibireme/YYDispatchQueuePool) — iOS utility class to manage global dispatch queue. * [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) — iOS utility classes for asynchronous rendering and display. * [YYCategories](https://github.com/ibireme/YYCategories) — A set of useful categories for Foundation and UIKit. Demo Project ============== See `Demo/YYKitDemo.xcodeproj`
Installation ============== ### CocoaPods 1. Add `pod 'YYKit'` to your Podfile. 2. Run `pod install` or `pod update`. 3. Import \. ### Carthage 1. Add `github "ibireme/YYKit"` to your Cartfile. 2. Run `carthage update --platform ios` and add the framework to your project. 3. Import \. 4. Notice: carthage framework doesn't include webp component, if you want to support webp, use CocoaPods or install manually. ### Manually 1. Download all the files in the `YYKit` subdirectory. 2. Add the source files to your Xcode project. 3. Add `-fno-objc-arc` compiler flag to `NSObject+YYAddForARC.m` and `NSThread+YYAdd.m`. 4. Link with required frameworks: * UIKit * CoreFoundation * CoreText * CoreGraphics * CoreImage * QuartzCore * ImageIO * AssetsLibrary * Accelerate * MobileCoreServices * SystemConfiguration * sqlite3 * libz 5. Add `Vendor/WebP.framework`(static library) to your Xcode project if you want to support WebP. 6. Import `YYKit.h`. Documentation ============== Full API documentation is available on [CocoaDocs](http://cocoadocs.org/docsets/YYKit/).
You can also install documentation locally using [appledoc](https://github.com/tomaz/appledoc). Requirements ============== This library requires `iOS 6.0+` and `Xcode 7.0+`. Notice ============== I want to use the APIs as if it was provided by system, and I don't add prefix in these categories. I do not recommend using the `YYKit` directly, you should try the separated components first. License ============== YYKit is provided under the MIT license. See LICENSE file for details.
--- 中文介绍 ============== YYKit 是一组庞大、功能丰富的 iOS 组件。 为了尽量复用代码,这个项目中的某些组件之间有比较强的依赖关系。为了方便其他开发者使用,我从中拆分出以下独立组件: * [YYModel](https://github.com/ibireme/YYModel) — 高性能的 iOS JSON 模型框架。 * [YYCache](https://github.com/ibireme/YYCache) — 高性能的 iOS 缓存框架。 * [YYImage](https://github.com/ibireme/YYImage) — 功能强大的 iOS 图像框架。 * [YYWebImage](https://github.com/ibireme/YYWebImage) — 高性能的 iOS 异步图像加载框架。 * [YYText](https://github.com/ibireme/YYText) — 功能强大的 iOS 富文本框架。 * [YYKeyboardManager](https://github.com/ibireme/YYKeyboardManager) — iOS 键盘监听管理工具。 * [YYDispatchQueuePool](https://github.com/ibireme/YYDispatchQueuePool) — iOS 全局并发队列管理工具。 * [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) — iOS 异步绘制与显示的工具。 * [YYCategories](https://github.com/ibireme/YYCategories) — 功能丰富的 Category 类型工具库。 演示项目 ============== 查看并运行 `Demo/YYKitDemo.xcodeproj`
安装 ============== ### CocoaPods 1. 在 Podfile 中添加 `pod 'YYKit'`。 2. 执行 `pod install` 或 `pod update`。 3. 导入 \。 ### Carthage 1. 在 Cartfile 中添加 `github "ibireme/YYKit"`。 2. 执行 `carthage update --platform ios` 并将生成的 framework 添加到你的工程。 3. 导入 \。 4. 注意: carthage framework 并没有包含 webp 组件。如果你需要支持 webp,可以用 CocoaPods 安装,或者手动安装。 ### 手动安装 1. 下载 YYKit 文件夹内的所有内容。 2. 将 YYKit 内的源文件添加(拖放)到你的工程。 3. 为 `NSObject+YYAddForARC.m` 和 `NSThread+YYAdd.m` 添加编译参数 `-fno-objc-arc`。 4. 链接以下 frameworks: * UIKit * CoreFoundation * CoreText * CoreGraphics * CoreImage * QuartzCore * ImageIO * AssetsLibrary * Accelerate * MobileCoreServices * SystemConfiguration * sqlite3 * libz 5. 如果你需要支持 WebP,可以将 `Vendor/WebP.framework`(静态库) 加入你的工程。 6. 导入 `YYKit.h`。 文档 ============== 你可以在 [CocoaDocs](http://cocoadocs.org/docsets/YYKit/) 查看在线 API 文档,也可以用 [appledoc](https://github.com/tomaz/appledoc) 本地生成文档。 系统要求 ============== 该项目最低支持 `iOS 6.0` 和 `Xcode 7.0`。 注意 ============== 我希望调用 API 时,有着和调用系统自带 API 一样的体验,所以我并没有为 Category 方法添加前缀。我已经用工具扫描过这个项目中的 API,确保没有对系统 API 产生影响,但即使这样没有前缀的 Category 也可能会带来其他麻烦。因此我不太推荐直接使用 `YYKit` 这个库,你应该先尝试一下上面那些拆分出来的独立组件。 许可证 ============== YYKit 使用 MIT 许可证,详情见 LICENSE 文件。 相关文章 ============== [iOS 保持界面流畅的技巧 ](http://blog.ibireme.com/2015/11/12/smooth_user_interfaces_for_ios/)