苹果开发 笔记(51)TextKit

在IOS5的书籍里面介绍大部分都是coreText 没有涉足到TextKit,这部分内容是在IOS7.0的后内容。所以又挖了一个坑在里面了。使用这个得升级系统了, 幸好ios的升级率比较高。6.0早可以不用考虑。
Text Kit 在书里面提及到三个核心类:
NSTextContainer
NSLayoutManager
NSTextStorage
这三个类分别用于排版区域,排版,存储文本的字符和相关属性。

以下继承关系。
NSTextStorage ->NSMutableAttributedString –>NSAttributedString

可想而知这三者关系。
NSLayoutManager 用于排版,NSTextStorage 相当于字体库,NSTextContainer 用于显示区域。

_textView = [[UITextView alloc] initWithFrame:rect textContainer:_textContainer];
NSLayoutManager *layoutManager = [[NSLayoutManager alloc] init]; [textStorage addLayoutManager:layoutManager]; [layoutManager addTextContainer:_textContainer];

从这个可以发现到NSTextStorage 添加一个排版
NSLayoutManager 则添加显示区域

NSTextStorage   addLayoutManager -->NSLayoutManager 
NSLayoutManager addTextContainer-->NSTextContainer

关于这个使用具体,还是要继续查看。

你可能感兴趣的:(苹果开发 笔记(51)TextKit)