Text Kit

简介:

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



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

Text Kit组件

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

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

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

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





排除路径

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





最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Text Kit学习(入门和进阶): http://www.cocoachina.com/industry/201...
    F麦子阅读 4,274评论 1 13
  • 1.Text Kit 是什么? 在iOS7中,苹果引入了Text Kit--Text Kit是一个快速而又现代化的...
    曲年阅读 983评论 1 3
  • 卷首语 欢迎来到 objc.io 第五期! 我们希望你跟我们一样为 iOS 7 的发布而感到兴奋。选择这个做为本期...
    评评分分阅读 597评论 0 4
  • iOS7 之前,几乎所有的复杂文本都是通过 WebKit 来处理的,无论 UILabel、UITextField ...
    CoCodeDZ阅读 907评论 0 51
  • 读书写作一直是我的爱好,仅仅是爱好。 第一份工作,是类似会计的工作,但岗位职责并没有特别清晰的划分。记得有一个任务...
    舒心来唠唠嗑阅读 155评论 2 2