参考链接
http://www.cocoachina.com/industry/20131028/7250.html

demo地址
https://github.com/yuanchuns/StorageAndLayout_i7_Demo

“Text
Kit指的是UIKit框架中用于提供高质量排版服务的一些类和协议,它让程序能够存储,排版和显示文本信息,并支持排版所需要的所有特性,包括字距调整、连写、换行和对齐等。”

Text Kit是基于Core
Text构建的快速、先进的文本排版和渲染引擎,并且与UIKit很好的集合。UITextView,UITextField、UILabel都已经基于Text
Kit重新构建,所以它们都支持分页文本、文本包装、富文本编辑、交互式文本着色、文本折叠和自定义截取等特性。所有这些UI控件现在都以同样的方式构建,在它们后面,一个NSTextStorage对象保存着文本的主要信息,它本身是NSMutableAttributedString的子类,支持分批编辑。这就意味着你可以改变一个范围内的字符的样式而不用整体替换文本内容。

Text storage管理者一系列的NSLayoutManager对象,当它的字符或者属性改变时会通知到自己所管理的layout
Manager对象以便它们作出相应的反应。在layout manager上面是一个NSTextContainer对象,用于为layout
manager定义坐标系和一些几何特性。例如,如果你想UITextView中的文本环绕在一张图片四周,你可以给text
container设定一个排除路径(exclusion path)。

Text container能够处理击中测试(hit
tests),所以可以定位到点击的字符在文本中的位置。此外它还提供一些代理方法让开发者能够自己定义链接点击后的处理事件。


Eidesen
427 声望16 粉丝

专注iOS,Swift开发,总结了一下自己项目中遇到的问题,及解决方案。欢迎小伙伴讨论和多多指教--->记得顺手点个关注额(⊙o⊙)…。


引用和评论

0 条评论