我使用 Interface Builder 创建了一个 NSTextField 并将它的 Line Break 设置为 Truncate Head (因为如果它的文本太长而无法一次显示,我宁愿看到最后几个单词而不是前几个单词)。
我的问题是修改后的换行符会影响我在通过单击鼠标使 NSTextField 处于活动状态(又名 First Responder)时将光标置于特定位置的能力。在此示例中,NSTextField 未激活,我尝试将光标放在“lazy”中的“L”和“A”之间。
点击后,光标出现在“over”字样之前。
显然,NSTextField 忽略了修改后的换行符,并将光标定位为默认值。是否可以实现截断头部的效果,但保留通过单击将光标置于特定位置的能力?
我有记录mouseDown
位置的想法,将其与attributedStringValue
's 的大小进行比较,并计算光标应该去的位置,但我很快就搞砸了。
原始问题: NSTextField 一直滚动到最后
我有以下愚蠢的问题:
我在我的视图上放置了一个单行 NSTextField。我们的想法是它包含一个长 URL,但在我的情况下,大多数情况下结尾很有趣。
所以我希望内容看起来像滚动到最后(所以如果它比文本字段长,开头是不可见的)。问题是我不知道如何正确设置它。我尝试了从右到左的“文本方向”选项,然后正确显示,但是一旦用户单击该字段,它就会跳回到开头,从而使用户感到困惑。
请让我知道我错过了什么。
谢谢!