NSLayoutManager

首先介绍NSLayoutManager,属于UITextKit核心类。

NSTextContainer。定义了文本可以排版的区域。默认情况下是矩形区域,如果是其他形状的区域,需要通过子类化NSTextContainer来创建。

NSLayoutManager。该类负责对文字进行编辑排版处理,将存储在NSTextStorage中的数据转换为可以在视图控件中显示的文本内容,并把字符编码映射到对应的字形上,然后将字形排版到NSTextContainer定义的区域中。

NSTextStorage。主要用来存储文本的字符和相关属性,是NSMutableAttributedString的子类。此外,当NSTextStorage中的字符或属性发生改变时,会通知NSLayoutManager,进而做到文本内容的显示更新。

NSAttributedString。支持渲染不同风格的文本。

NSMutableAttributedString。可变类型的NSAttributedString,是NSAttributedString的子类

*******************************************************************************************************

以前很古老的排版印刷中,工人(NSLayoutManager)从字体库中取出单个字母(NSTextStorage)组成要打印的版(NSTextStorage),然后印刷。

********************************************************************************************************

例子是实现在显示选择的所有条件(字体颜色,条件背景颜色等)


viewController


BackgroundLayoutManager.h


BackgroundLayoutManager.m


http://icell.io/layout-using-textkit/

http://www.ituring.com.cn/tupubarticle/2542

http://stackoverflow.com/questions/21857408/how-to-set-nsstrings-background-cornerradius-on-ios7

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Text Kit学习(入门和进阶): http://www.cocoachina.com/industry/201...
    F麦子阅读 9,809评论 1 13
  • iOS7.0之后的类,同样是对富文本的操作,但是再iOS9.0之后废弃了一些属性,所以建议有需求的人有时间的人好好...
    孤独雪域阅读 3,682评论 0 0
  • 与NSString类似,在iOS中AttributedString也分为NSAttributedString和 N...
    钱十六阅读 4,262评论 0 0
  • iOS 7 引入了一个非常有用的新功能TextKit,使开发者可以通过方便的接口去修改文字的样式和排版,而不需要直...
    星___尘阅读 12,276评论 4 75
  • 当昙花留下最后一眼韵姿, 当夏蝉留下最后一曲哀声, 我, 轻轻地消散了。 我是上帝眼神的最后一颗泪, 饱含人间的深...
    海一阅读 1,603评论 4 1

友情链接更多精彩内容