gpt4 book ai didi

cocoa - NSPoint/NSRect 来自 NSTextView 中的字符

转载 作者:行者123 更新时间:2023-12-03 16:17:14 25 4
gpt4 key购买 nike

所以我试图获取与 NSTextView 中特定字符的位置相对应的 NSPoint 或 NSRect。这就是我到目前为止所拥有的(效果不是很好,结果似乎有点不可预测。

NSRange theTextRange = [[theTextView layoutManager] glyphRangeForCharacterRange:[theTextStorage editedRange] actualCharacterRange:NULL];
NSRect theTextRect = [[theTextView layoutManager] boundingRectForGlyphRange:theTextRange inTextContainer:[theTextView textContainer]];

最佳答案

boundingRectForGlyphRange:inTextContainer: 返回的矩形位于容器坐标中。如果你想获得相对于 TextView 的矩形,你需要对此进行调整:

NSRange theTextRange = [[textView layoutManager] glyphRangeForCharacterRange:textRange actualCharacterRange:NULL];
NSRect layoutRect = [[textView layoutManager] boundingRectForGlyphRange:theTextRange inTextContainer:[textView textContainer]];
NSPoint containerOrigin = [textView textContainerOrigin];
layoutRect.origin.x += containerOrigin.x;
layoutRect.origin.y += containerOrigin.y;

关于cocoa - NSPoint/NSRect 来自 NSTextView 中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5160094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com