问题标签 [ctlineref]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1367 浏览

objective-c - Objective C - 核心文本在位置查找索引?

我正在尝试获取最接近某个点的字符的索引。

下面的代码工作得非常好,因为我的文本对齐设置为向左,只要我将其更改为向右或居中,它就会给我错误的索引。在获得最接近点的索引时考虑文本对齐的解决方案是什么?

编辑:

我的文本对齐是通过添加一个具有 textAlignment 设置的段落样式来完成的kCTCenterTextAlignment

0 投票
1 回答
523 浏览

objective-c - Objective C - 核心文本,一行中的字符数?

  • 给定当前字符的索引,如何确定所选字符所在的行数?

  • 给定 CTLine 我如何确定其中的字符数?

0 投票
4 回答
3050 浏览

iphone - CTLine 或 NSAttributedString——在没有图形上下文的情况下获取图像边界?

这可能吗?基本上,我有一堆 NSAttributedString 对象和相应的 CTLine 对象。我想在 drawRect 阶段之前获得图像边界。所以在这一点上,没有什么可以借鉴的。然后,我将使用这些图像边界来确定我需要为绘图创建什么。

编辑:尺寸的另一种测量可能会很好。但是调用具有欺骗性名称的 CTLineGetTypographicBounds 函数只返回宽度。如果我传入上升和下降浮动的地址,它们会返回为零。

编辑:给定的答案在 MacOS 中效果很好。任何人都可以在 iOS 中做到这一点吗?

0 投票
0 回答
673 浏览

iphone - iOS 中的 CTLineGetTypographicBounds -- 上升和下降总是归零

在 NSAttributedString 上的 iOS 类别中,我有以下内容:

根据文档,这些似乎应该是线路的上升和下降。但他们不是。

宽度不返回零。

也就是说,如果我然后画线,它画得很好。

我错过了什么吗?

0 投票
3 回答
1113 浏览

objective-c - CTLineRef 是否拥有属性字符串?

我刚刚开始在苹果上编程 GUI(到目前为止,框架看起来不错,但我发现文档的信息量远不如其他文档......Qt、.Net、java 等)。

我遇到的问题之一是了解谁拥有什么。例如,如果我调用 CTLineRefCreateWithAttributedString,生成的 CTLineRef 是否拥有属性字符串?如果属性字符串是可变的,而我更改了它怎么办?这会弄乱 CTLineRef 吗?

文档一直没有启发性。

CTLineRef 的参考没有提供有关该主题的信息: https ://developer.apple.com/library/mac/#documentation/Carbon/Reference/CTLineRef/Reference/reference.html

一些示例不会释放字符串,我将其作为它拥有的指标: https ://developer.apple.com/library/mac/#documentation/StringsTextFonts/Conceptual/CoreText_Programming/Operations/Operations.html

一些示例确实释放了字符串,这表明它不是: https ://developer.apple.com/library/mac/#samplecode/CoreAnimationText/Listings/VectorTextLayer_m.html

(这个不是苹果,但他似乎更了解我) http://www.cocoanetics.com/2011/01/befriending-core-text/

那么字符串是否被复制?如果我使用 CFMutableAttributedStringRef 是否可以更改(我假设我必须在之后创建一个新的 CTLineRef)?

这是一个具体的例子,但这是我在无数地方遇到过的问题。任何帮助将不胜感激。我觉得必须有一些规则来管理这些事情,但我一点也不知道这些规则是什么或在哪里可以找到它们。

0 投票
1 回答
668 浏览

iphone - CTLine 具有“字符串访问权限”是什么意思?

我正在尝试用 UILabel解决一个棘手的问题,并且我已经弄清楚了大部分问题,除了一件事:我在理解CTLine拥有“字符串访问”意味着什么时遇到了挑战。

我想使用的方法是CTLineGetOffsetForStringIndex. 这是该方法文档的链接。

这是我不理解的文档部分(重点是我的):

charIndex 沿基线的主要偏移量,如果行不支持字符串访问,则为 0.0。

当我运行这个方法时,我0.0回来了,所以我猜这意味着该行不支持字符串访问——但这究竟意味着什么?

0 投票
1 回答
563 浏览

ios - 如何从 CTlineRef 中提取文本字符串?

如何从 CTlineRef 中提取文本字符串?

例如,我知道我可以执行 CTLineGetStringRange(aLine) 并且我有用于生成线的 AttributedString(即:CFAttributedStringRef)。如何从 AttributedString 中提取文本字符串?