基本原理 https://www.cnblogs.com/purple-sweet-pottoes/p/5109413.htmlhtml
CoreText(一):基本用法 https://blog.csdn.net/xiaoxiaobukuang/article/details/52368694數組
參考 https://www.cnblogs.com/XYQ-208910/p/6222931.html spa
CoreText 圖文混排 .net
每一行是一個 Line , 每一個 Line 中可能有多個 Runcode
1、圖文混排 CTFrameRef textFrame // coreText 的 frame CTLineRef line // coreText 的 line CTRunRef run // line 中的部分文字 2、相關方法: CFArrayRef CTFrameGetLines(CTFrameRef frame) //獲取包含CTLineRef的數組 void CTFrameGetLineOrigins(CTFrameRef frame,CFRange range,CGPoint origins[])//獲取全部CTLineRef的原點 CFRange CTLineGetStringRange(CTLineRef line) //獲取line中文字在整段文字中的Range CFArrayRef CTLineGetGlyphRuns(CTLineRef line)//獲取line中包含全部run的數組 CFRange CTRunGetStringRange(CTRunRef run)//獲取run在整段文字中的Range CFIndex CTLineGetStringIndexForPosition(CTLineRef line,CGPoint position)//獲取點擊處position文字在整段文字中的index CGFloat CTLineGetOffsetForStringIndex(CTLineRef line,CFIndex charIndex,CGFloat* secondaryOffset)//獲取整段文字中charIndex位置的字符相對line的原點的x值