功能强大的 iOS 富文本编辑与显示框架:YYText

功能强大的 iOS 富文本编辑与显示框架。
(该项目是 YYKit 组件之一) 

特性 

  • API 兼容 UILabel 和 UITextView 
  • 支持高性能的异步排版和渲染 
  • 扩展了 CoreText 的属性以支持更多文字效果 
  • 支持 UIImage、UIView、CALayer 作为图文混排元素 
  • 支持添加自定义样式的、可点击的文本高亮范围 
  • 支持自定义文本解析 (内置简单的 Markdown/表情解析) 
  • 支持文本容器路径、内部留空路径的控制 
  • 支持文字竖排版,可用于编辑和显示中日韩文本 
  • 支持图片和富文本的复制粘贴 
  • 文本编辑时,支持富文本占位符 
  • 支持自定义键盘视图 
  • 撤销和重做次数的控制 
  • 富文本的序列化与反序列化支持 
  • 支持多语言,支持 VoiceOver 
  • 全部代码都有文档注释 

架构 

YYText 和 TextKit 架构对比 

文本属性 

YYText 原生支持的属性 

Demo Attribute Name Class 
TextBackedString YYTextBackedString 
TextBinding YYTextBinding 
TextShadow YYTextShadow 
TextInnerShadow YYTextShadow 
TextUnderline YYTextDecoration 
TextStrickthrough YYTextDecoration 
TextBorder YYTextBorder 
TextBackgroundBorder YYTextBorder 
TextBlockBorder YYTextBorder 
TextAttachment YYTextAttachment 
TextHighlight YYTextHighlight 
TextGlyphTransform NSValue(CGAffineTransform) 

YYText 支持的 CoreText 属性 

Demo Attribute Name Class 
Font UIFont(CTFontRef) 
Kern NSNumber 
StrokeWidth NSNumber 
StrokeColor CGColorRef 
Shadow NSShadow 
Ligature NSNumber 
VerticalGlyphForm NSNumber(BOOL) 
WritingDirection NSArray(NSNumber) 
RunDelegate CTRunDelegateRef 
TextAlignment NSParagraphStyle 
(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) 

用法 

基本用法 

// YYLabel (和 UILabel 用法一致)
YYLabel *label = [YYLabel new];
label.frame = ...
label.font = ...
label.textColor = ...
label.textAlignment = ...
label.lineBreakMode = ...
label.numberOfLines = ...
label.text = ...

// YYTextView (和 UITextView 用法一致)
YYTextView *textView = [YYTextView new];
textView.frame = ...
textView.font = ...
textView.textColor = ...
textView.dataDetectorTypes = ...
textView.placeHolderText = ...
textView.placeHolderTextColor = ...
textView.delegate = ...

 

项目主页:http://www.open-open.com/lib/view/home/1447216582147

ibireme /  YYText

Watch 4750Fork 752

项目描述:Powerful text framework for iOS to display and edit rich text. — 查看更多内容...


问题列表:
#309yylabel中全部是emoji表情时,设置行间距无效由 wusw  2016-05-06
#308YYTextBorder显示不完整由 BaeCheung  2016-05-06
#307can not find the YYTextView on [UIResponder currentFirstResponder]?由 pamredrum  2016-05-07
#306No highlight status由 medisean  2016-05-06
#305YYLabel attributed text default linespacing is not Zero由 tobatha  2016-05-05
 

分支代码更新时间:2016-04-21

开发语言:Objective-C

下载ZIP

转载于:https://www.cnblogs.com/sunshine-liuxin/p/5472525.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值