coreText绘制文本
我们需要知道我们是将用Coretext布局好的文本图片信息绘制在view上,并在view的drawRect方法。现在我们先初步了解一下步骤:
- 首先,我们需要根据要显示的文本以及文本属性初始化一个NSMutableAttributedString;
- 根据文本以及文本属性配置CTFramesetterRef;
- 设置绘制区域(CGPathRef),并根据绘制区域和CTFramesetterRef生成CTFrameRef;
- 最后将排版好的文本绘制到view上。
为了使代码结构清晰,可以将配置文本属性(包括字体大小,行间距等信息)写成一个类,再用一个类去排版布局文本,最后将排版好的文本绘制在view上。
- 首先根据要显示的文本以及文本属性生成NSMutableAttributedString
//content就是要显示的文本内容 NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:content]; //config是用来记录文本属性(包括字体大小,字体颜色等信息)的类的对象 NSMutableDictionary *dict = [NSMutableDictionary dictionary]; //记录字体大小 dict[NSFontAttributeName] = [UIFont systemFontOfSize:config.fontSize]; //字体颜色 dict[NSForegroundColorAttributeName] = config.fo