2

我使用 Interface Builder 创建了一个 NSTextField 并将它的 Line Break 设置为 Truncate Head (因为如果它的文本太长而无法一次显示,我宁愿看到最后几个单词而不是前几个单词)。

我的问题是修改后的换行符会影响我在通过单击鼠标使 NSTextField 处于活动状态(又名 First Responder)时将光标置于特定位置的能力。在此示例中,NSTextField 未激活,我尝试将光标放在“lazy”中的“L”和“A”之间。

点击前

点击后,光标出现在“over”字样之前。

点击后

显然,NSTextField 忽略了修改后的换行符,并将光标定位为默认值。是否可以实现截断头部的效果,但保留通过单击将光标置于特定位置的能力?

我有记录mouseDown位置的想法,将其与attributedStringValue's 的大小进行比较,并计算光标应该去的位置,但我很快就搞砸了。

原始问题: NSTextField 一直滚动到最后

我有以下愚蠢的问题:

我在我的视图上放置了一个单行 NSTextField。我们的想法是它包含一个长 URL,但在我的情况下,大多数情况下结尾很有趣。

所以我希望内容看起来像滚动到最后(所以如果它比文本字段长,开头是不可见的)。问题是我不知道如何正确设置它。我尝试了从右到左的“文本方向”选项,然后正确显示,但是一旦用户单击该字段,它就会跳回到开头,从而使用户感到困惑。

请让我知道我错过了什么。

谢谢!

4

0 回答 0