- (void)drawRect:(CGRect)rect {
// Drawing code
CGContextRef ref = UIGraphicsGetCurrentContext();
// 反转坐标
CGContextTranslateCTM(ref, 0, self.bounds.size.height);
CGContextScaleCTM(ref, 1.0, -1.0);
CGContextSetTextMatrix(ref, CGAffineTransformIdentity);
// 创建矩形的路劲 置顶文字的绘制范围
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddRect(path, NULL, self.bounds);
// 4.创建富文本
NSAttributedString *attrStr = [[NSAttributedString alloc] initWithString:@"Hello, World! I know nothing in the world that has as much power as a word. Sometimes I write one, and I look at it, until it begins to shine." attributes:@{NSForegroundColorAttributeName:[UIColor orangeColor],NSFontAttributeName:[UIFont systemFontOfSize:15]}];
// 5.根据attrStr初始化CTFramesetterRef
CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString((CFAttributedStringRef )attrStr);
CTFrameRef frame = CTFramesetterCreateFrame(framesetter, CFRangeMake(0, 0), path, NULL);
// 绘制内容
CTFrameDraw(frame, ref);
// 8. 释放内存
CFRelease(frame);
CFRelease(framesetter);
CFRelease(path);
CFRelease(ref);
}
CoreText绘制文本
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- import "CoreText/CoreText.h" (void)drawRect:(CGRect)rect ...
- 现在分析到YYImage 首先看文件 YYImage YYFrameImage YYSpriteSheetImag...