标签:style blog http color 使用 os 数据 io
在iOS7中,苹果引入了Text Kit
——Text Kit是一个快速而又现代化的文字排版和渲染引擎。Text Kit在UIKit framework中的定义了一些类和相关协议,它最主要的作用就是为程序提供文字排版和渲染的功能。在程序中,通过Text Kit可以对文字进行存储(store)、布局(lay out),以及用最精细的排版方式(例如文字间距、换行和对齐等)来显示文本内容。苹果引入Text Kit的目的并非要取代已有的Core
Text,Core Text的主要作用也是用于文字的排版和渲染中,它是一种先进而又处于底层技术,如果我们需要将文本内容直接渲染到图形上下文(Graphics context)时,从性能和易用性来考虑,最佳方案就是使用Core Text。而如果我们直接利用苹果提供的一些控件(例如UITextView、UILabel和UITextField等)对文字进行排版,无疑就是借助于UIkit framework中Text Kit提供的API。
详细参考:http://blog.jobbole.com/51965/
下面,我们通过图1(此图来自WWDC2013 Session 210)来了解一下Text Kit的架构。图1是基于iOS 7绘制的,从图中,我们可以看到Text Kit是基于Core Text构建的,它通过Core Text与Core Graphics进行交互。而UI控件(UILabel、UITextField和UITextView)则构建于Text Kit之上,可见这些文本控件可以利用Text Kit提供的API来对文字进行排版和渲染处理。从图中我们也可以看到SDK提供的UIWebView是基于WebKit的,它不能使用Text Kit提供的功能。
我们再来看看图1中的相关组件在iOS6里面是如何对应的,如图2所示,可以看出在iOS 6中是没有Text Kit,并且UILabel、UIText和UITextView是基于String Drawing和WebKit构建的。其中String Drawing是与Core Graphics直接通讯。
原理 & 实践 牛人写的已经很多了,详细参考如下链接
破船出品
http://beyondvincent.com/blog/2013/11/12/121-brief-analysis-text-kit/
raywenderlich Tutorials(链接为中文)
http://www.raywenderlich.com/zh-hans/53890/text-kit-%E6%95%99%E7%A8%8B%EF%BC%88%E4%B8%80%EF%BC%89
http://www.raywenderlich.com/zh-hans/53889/text-kit-%E6%95%99%E7%A8%8B%EF%BC%88%E4%BA%8C%EF%BC%89
苹果官方示例:
苹果官方参考文档:
wwdc视频:
标签:style blog http color 使用 os 数据 io
原文地址:http://blog.csdn.net/skymingst/article/details/38100529