CoreText

Posted daxueshan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CoreText相关的知识,希望对你有一定的参考价值。

 

 CoreText(一):基本用法   https://blog.csdn.net/xiaoxiaobukuang/article/details/52368694

参考   https://www.cnblogs.com/XYQ-208910/p/6222931.html 

 每一行是一个 Line , 每个 Line 中可能有多个 Run

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值

 

以上是关于CoreText的主要内容,如果未能解决你的问题,请参考以下文章

CoreText 页面视图示例(CTPageViewer)[关闭]

iOS CoreText写入PDF和 自动换行

Swift 中 CoreText CTFrameGetLineOrigins 的问题

iOS阅读器实践系列coretext纯文本排版基础

使用CoreText实现图文混排

CoreText