首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NSRange的多个CTLine

NSRange的多个CTLine
EN

Stack Overflow用户
提问于 2012-03-14 03:24:41
回答 1查看 411关注 0票数 0

我刚接触核心文本。有没有办法找出NSAttributedString中的某个字符NSRange是否在多行上(CTLine)?

我要做的是设置NSAttributedString,然后使用该字符串创建框架设置。字符串可以有不同的长度,我想知道如何确定一个范围(即一个短语)是否在多行上。因为它是一个长度可变的字符串,所以如果可以的话,我宁愿不设置每一行。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-14 23:15:27

因此,您需要使用以下函数来获取该行的:

从framesetter获取CTFrameRef后,需要调用:

代码语言:javascript
运行
复制
CFArrayRef lines = CTFrameGetLines (frame);

然后,要查看有多少行,请计算数组中的行数:

代码语言:javascript
运行
复制
CFIndex numLines = CFArrayGetCount(lines);

如果您需要知道一行(在本例中为第0行)中字符的确切范围(来自原始字符串),请使用:

代码语言:javascript
运行
复制
CFRange range = CTLineGetStringRange(CFArrayGetValueAtIndex( lines, 0));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9690662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档