Text Kit

简介:

Text Kit是基于Core Text构建的快速、先进的文本排版和渲染引擎,并且与UIKit很好的集合。UITextView,UITextField、UILabel都已经基于Text Kit重新构建,所以它们都支持分页文本、文本包装、富文本编辑、交互式文本着色、文本折叠和自定义截取等特性。TextKit是iOS7新推出的类库, 而CoteText效率是基于C库的,效率要稍快,除非版本兼容问题,或者需要小幅度的效率提升情况才需要用到CoreText,否则TextKit是最佳选择。



Text Kit_第1张图片

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

Text Kit组件

text kit的布局系统基于三个重要的组件。

NSTextStorage —— 这个NSMutableAttributedString的子类存的是要管理的文本;

NSTextContainer —— 这个组件表示文本要填充的区域,通常是一列或者一页,可以除去某些区域,多数情况这个区域是矩形,也不一定;

NSLayoutManager—— 这个组件在文本容器上应用布局;


Text Kit_第2张图片


Text Kit_第3张图片


Text Kit_第4张图片


Text Kit_第5张图片

排除路径

在排除的路径区域绘图,只要指定排除的区域path即可



Text Kit_第6张图片


Text Kit_第7张图片


Text Kit_第8张图片

你可能感兴趣的:(Text Kit)