功能强大的 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

Watch4750Fork752

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

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

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

开发语言:Objective-C

下载ZIP

时间: 2024-10-14 04:43:53

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

IOS开发比较实用的框架总结(上)

下拉刷新类型的框架 [EGOTableViewPullRefresh](https://github.com/enormego/EGOTableViewPullRefresh) - 最早的下拉刷新控件. [SVPullToRefresh](https://github.com/samvermette/SVPullToRefresh) - 下拉刷新控件. [MJRefresh](https://github.com/CoderMJLee/MJRefresh) - 仅需一行代码就可以为UITable

TYAttributedLabel——简单,强大的iOS属性文本控件

本文转载至 http://www.mobile-open.com/2015/86578.html TYAttributedLabel 简单,强大的属性文本的控件(无需了解CoreText),支持图文混排显示,支持添加链接,image和UIView控件,支持自定义排版显示 更新: v2.4 修复imge放大bug,新增imageAlignment 和 autolayout支持,以及相应的demo,感谢xinzhengzhang,nonstriater v2.3 新增 做题demo,代码优化(4s真

免费的在线Web文件管理器:Net2FTP,Pydio,eXtplorer,KodExplorer–功能强大

https://www.freehao123.com/web-ftp/ 经常有朋友在使用一些没有带文件管理器的空间时,苦于没有办法来解压上传的文件压缩包,而如果不先上传压缩包,直接上传文件夹的话耗费的时间太多.还有一些朋友希望将空间变成一个文件存储站,这时就需要一个功能足够多也足够强大的在线文件管理器了. 在线的Web文件管理器非常地多,尤其是以PHP在线文件管理器最多,但是真正能够满足我们的文件管理需求同时也容易安装和使用的Web文件管理器不是很多.本篇文章部落就精选四个界面友好.功能丰富和安

.NET中应用Ueditor(富文本编辑)的配置和使用

一.Ueditor的下载 1.百度编辑器下载地址:http://ueditor.baidu.com/website/download.html 2.下载完整源码包,解压到任意目录,解压后的源码目录结构如下所示: 3.编辑器展示: 二.Ueditor的使用 1.添加到项目中如图所示: 2.新建项目中进行引用 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestUeditor.a

iOS富文本组件的实现—DTCoreText源码解析 数据篇

本文转载 http://blog.cnbang.net/tech/2630/ DTCoreText是个开源的iOS富文本组件,它可以解析HTML与CSS最终用CoreText绘制出来,通常用于在一些需要显示富文本的场景下代替低性能的UIWebView,来看看它是怎样解析和渲染HTML+CSS的,总体上分成两步: 数据解析—把HTML+CSS转换成NSAttributeString 渲染—用CoreText把NSAttributeString内容渲染出来,再加上图片等元素 本篇先介绍第一步,数据解

Lingoes 一款功能强大、简明易用的多语言词典和文本翻译软件

Lingoes 软件自述 Lingoes 是一款功能强大.简明易用的多语言词典和文本翻译软件,支持多达80种语言互查互译,这些语言包括 英.法.德.意.俄.中.日.韩.西.葡.阿拉伯语 及更多... Lingoes 拥有专业的语言翻译功能,包括词典查询.文本翻译.屏幕取词,划词和语音朗读功能,并提供了海量词典和百科全书供用户下载,专业词典.百科全书.例句搜索和网络释义一应俱全,此外还提供了汇率计算.度量衡换算.世界时区转换.全球电话号码簿等实用工具,是新一代的词典与文本翻译专家. Lingoes

功能强大的商业图表控件Essential Chart for ASP.NET MVC

Essential Chart for ASP.NET MVC是一款功能强大的商业图表控件,提供了创新的数据对象模型可以很容易地与多种数据源进行绑定,提供了35种图表类型,支持2D和3D显示,多轴显示.实时数据显示.导出为图片以及打印和打印预览,软件开发人员可以使用该控件开发出专业的商业应用程序. 具体功能: 支持无限制数据序列和无限制数据点 支持多种坐标轴样式 支持自定义轴标签和显示方向 支持轴反转和颠倒轴 支持自定义数据点 支持图表放大和滚动以及panning 控件提供了交互式地十字光标,可

设计师眼中功能强大的Xcode

作为设计师,不仅要能创造出移动为先的新产品,更要了解能创造出优秀移动作品的工具.这个实现过程可以让我们的设计更加优秀. 过去两个月,我每天在 Xcode 上花费的时间大约有 10 个小时,我学到了很多完全改变我的工作流程的技术.Xcode 是一款成熟的工具包含了很多强有力的但没被经常使用的功能.如果你不确定 Storeboard 是 CSS 的未来,或者没有直接使用 Xcode 工作,这篇文章至少会告诉你 Xcode 如何为你的设计做准备和它有什么可能的限制. 预览你的设计 如同你跨多分辨率设备

SAX,功能强大的 API

https://www.ibm.com/developerworks/cn/xml/x-saxapi/ SAX,功能强大的 API 在摘自 XML by Example 的本篇预览中比较了 DOM 和 SAX,然后开始使用 SAX 这篇对 Benoit Marchal 所著的 XML by Example第二版的预览给出了对 SAX 的翔实介绍,SAX 是用于处理 XML 的基于事件的 API,它已经成为事实上的标准.本篇预览讲述了何时使用 SAX 替换 DOM,概述了常用的 SAX 接口,并在