- (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...