问题标签 [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.
objective-c - Objective C - 核心文本在位置查找索引?
我正在尝试获取最接近某个点的字符的索引。
下面的代码工作得非常好,因为我的文本对齐设置为向左,只要我将其更改为向右或居中,它就会给我错误的索引。在获得最接近点的索引时考虑文本对齐的解决方案是什么?
编辑:
我的文本对齐是通过添加一个具有 textAlignment 设置的段落样式来完成的kCTCenterTextAlignment
objective-c - Objective C - 核心文本,一行中的字符数?
给定当前字符的索引,如何确定所选字符所在的行数?
给定 CTLine 我如何确定其中的字符数?
iphone - CTLine 或 NSAttributedString——在没有图形上下文的情况下获取图像边界?
这可能吗?基本上,我有一堆 NSAttributedString 对象和相应的 CTLine 对象。我想在 drawRect 阶段之前获得图像边界。所以在这一点上,没有什么可以借鉴的。然后,我将使用这些图像边界来确定我需要为绘图创建什么。
编辑:尺寸的另一种测量可能会很好。但是调用具有欺骗性名称的 CTLineGetTypographicBounds 函数只返回宽度。如果我传入上升和下降浮动的地址,它们会返回为零。
编辑:给定的答案在 MacOS 中效果很好。任何人都可以在 iOS 中做到这一点吗?
iphone - iOS 中的 CTLineGetTypographicBounds -- 上升和下降总是归零
在 NSAttributedString 上的 iOS 类别中,我有以下内容:
根据文档,这些似乎应该是线路的上升和下降。但他们不是。
宽度不返回零。
也就是说,如果我然后画线,它画得很好。
我错过了什么吗?
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)?
这是一个具体的例子,但这是我在无数地方遇到过的问题。任何帮助将不胜感激。我觉得必须有一些规则来管理这些事情,但我一点也不知道这些规则是什么或在哪里可以找到它们。
iphone - CTLine 具有“字符串访问权限”是什么意思?
我正在尝试用 UILabel解决一个棘手的问题,并且我已经弄清楚了大部分问题,除了一件事:我在理解CTLine
拥有“字符串访问”意味着什么时遇到了挑战。
我想使用的方法是CTLineGetOffsetForStringIndex
. 这是该方法文档的链接。
这是我不理解的文档部分(重点是我的):
charIndex 沿基线的主要偏移量,如果行不支持字符串访问,则为 0.0。
当我运行这个方法时,我0.0
回来了,所以我猜这意味着该行不支持字符串访问——但这究竟意味着什么?
ios - 如何从 CTlineRef 中提取文本字符串?
如何从 CTlineRef 中提取文本字符串?
例如,我知道我可以执行 CTLineGetStringRange(aLine) 并且我有用于生成线的 AttributedString(即:CFAttributedStringRef)。如何从 AttributedString 中提取文本字符串?