iOS开发之YYKit丰富的组件,如:YYText
来源:互联网 发布:2017淘宝交易额 编辑:程序博客网 时间:2024/05/19 19:57
今天主要介绍一下YYKit,这是一个对于快速开发较为丰富的第三方库。
YYKit 是一组功能丰富的 iOS 组件。GitHub:https://github.com/ibireme/YYKit
为了尽量复用代码,这个项目中的某些组件之间有比较强的依赖关系。为了方便其他开发者使用,从中拆分出以下独立组件:
- YYModel — 高性能的 iOS JSON 模型框架。
- YYCache — 高性能的 iOS 缓存框架。
- YYImage — 功能强大的 iOS 图像框架。
- YYWebImage — 高性能的 iOS 异步图像加载框架。
- YYText — 功能强大的 iOS 富文本框架。
- YYKeyboardManager — iOS 键盘监听管理工具。
- YYDispatchQueuePool — iOS 全局并发队列管理工具。
- YYAsyncLayer — iOS 异步绘制与显示的工具。
- YYCategories — 功能丰富的 Category 类型工具库。
安装
CocoaPods
- 在 Podfile 中添加
pod 'YYKit'
。 - 执行
pod install
或pod update
。 - 导入 <YYKit/YYKit.h>。
Carthage
- 在 Cartfile 中添加
github "ibireme/YYKit"
。 - 执行
carthage update --platform ios
并将生成的 framework 添加到你的工程。 - 导入 <YYKit/YYKit.h>。
- 注意: carthage framework 并没有包含 webp 组件。如果你需要支持 webp,可以用 CocoaPods 安装,或者手动安装。
手动安装
- 下载 YYKit 文件夹内的所有内容。
- 将 YYKit 内的源文件添加(拖放)到你的工程。
- 为
NSObject+YYAddForARC.m
和NSThread+YYAdd.m
添加编译参数-fno-objc-arc
。 - 链接以下 frameworks:
- UIKit
- CoreFoundation
- CoreText
- CoreGraphics
- CoreImage
- QuartzCore
- ImageIO
- AssetsLibrary
- Accelerate
- MobileCoreServices
- SystemConfiguration
- sqlite3
- libz
- 如果你需要支持 WebP,可以将
Vendor/WebP.framework
(静态库) 加入你的工程。 - 导入
YYKit.h
。
注意
开发者希望调用 API 时,有着和调用系统自带 API 一样的体验,所以并没有为 Category 方法添加前缀。而且开发者已经用工具扫描过这个项目中的 API,确保没有对系统 API 产生影响,但即使这样没有前缀的 Category 也可能会带来其他麻烦。因此开发者不太推荐直接使用 YYKit
这个库,应该先尝试一下上面那些拆分出来的独立组件。
下面,我就以YYText为例简单介绍一下:(GitHub:https://github.com/ibireme/YYText)
功能强大的 iOS 富文本编辑与显示框架。特性:
- API 兼容 UILabel 和 UITextView
- 支持高性能的异步排版和渲染
- 扩展了 CoreText 的属性以支持更多文字效果
- 支持 UIImage、UIView、CALayer 作为图文混排元素
- 支持添加自定义样式的、可点击的文本高亮范围
- 支持自定义文本解析 (内置简单的 Markdown/表情解析)
- 支持文本容器路径、内部留空路径的控制
- 支持文字竖排版,可用于编辑和显示中日韩文本
- 支持图片和富文本的复制粘贴
- 文本编辑时,支持富文本占位符
- 支持自定义键盘视图
- 撤销和重做次数的控制
- 富文本的序列化与反序列化支持
- 支持多语言,支持 VoiceOver
- 支持 Interface Builder
- 全部代码都有文档注释
YYText 和 TextKit 架构对比:
YYText 原生支持的属性
TextInnerShadow YYTextShadow TextBorder YYTextBorder TextBackgroundBorder YYTextBorder TextBlockBorder YYTextBorder TextGlyphTransform NSValue(CGAffineTransform) TextUnderline YYTextDecoration TextStrickthrough YYTextDecoration TextBackedString YYTextBackedString
YYText 支持的 CoreText 属性
(NSTextAlignment) LineBreakMode NSParagraphStyle
(NSLineBreakMode) LineSpacing NSParagraphStyle
(CGFloat) ParagraphSpacing
ParagraphSpacingBefore NSParagraphStyle
(CGFloat) FirstLineHeadIndent NSParagraphStyle
(CGFloat) HeadIndent NSParagraphStyle
(CGFloat) TailIndent NSParagraphStyle
(CGFloat) MinimumLineHeight NSParagraphStyle
(CGFloat) MaximumLineHeight NSParagraphStyle
(CGFloat) LineHeightMultiple NSParagraphStyle
(CGFloat) BaseWritingDirection NSParagraphStyle
(NSWritingDirection) DefaultTabInterval
TabStops NSParagraphStyle
CGFloat/NSArray(NSTextTab)
常用到的效果如下图所示:
参考文章:
1.http://www.jianshu.com/p/60aee32ade55?nomobile=yes
2.http://www.cnblogs.com/lujianwenance/p/5716804.html
3.TTTAttributedLabel使用:http://www.jianshu.com/p/b457a49fac3d
TextDemo:http://download.csdn.net/detail/hbblzjy/9888702
阅读全文
0 0
- iOS开发之YYKit丰富的组件,如:YYText
- 一组功能丰富的iOS组件:YYKit
- iOS开发学习之YYKit中YYText的深入解析,YYTextShadow的代码解析
- YYKit之YYText阅读
- 移动开发之iOS基础开发(四)更加丰富的用户界面
- 推荐十个拥有丰富 UI 组件的 JavaScript 开发框架
- 十个拥有丰富UI组件的JS开发框架
- 十个拥有丰富UI组件的JS开发框架
- iOS YYText的使用笔记一(YYTextView图文编辑器)
- iOS YYText的使用笔记一(YYTextView图文编辑器)
- iOS YYKit理解
- YYText
- iOS YYText富文本开源库
- 丰富的IOS界面元素
- iOS开发之自定义组件
- 【特别推荐】十个拥有丰富 UI 组件的 JavaScript 开发框架
- 超级丰富的组件 各种语言
- iOS开发笔记--iOS组件之UILabel
- Activiti离线安装(1)
- openfire
- 快速集成百度定位功能
- Android常用组件
- Mina框架使用时解决 程序报 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".等错误
- iOS开发之YYKit丰富的组件,如:YYText
- 程序员之路-学习经验总结分享
- 百度定位:定位自己位置,并显示在地图上
- sphinx
- iOS-应用架构谈(1)开篇
- VS 2015添加静态库文件步骤
- AndroudHttps介绍以及集成
- 数据结构之迷宫问题
- UNIX网络编程卷1:套接字联网-第3章:套接字编程-常用函数