1

当用户将鼠标悬停在特定单词上时,我需要创建一个弹出框,NSTextView例如

“这个男孩有一条狗

一旦用户将光标悬停在 adog上(没有选择任何内容的鼠标向上),需要触发一个可可事件,以便我可以执行一个操作,即显示一个弹出框我的案例

我认为NSAttributedString可能会有所帮助,但没有看到任何内置的悬停事件或跟踪功能。

4

1 回答 1

2

可能的解决方案是使用NSTextAttachmentattachmentCell属性。

所以这里有一个方法

  1. 子类化您的自定义单元格,因此NSTextAttachmentCell您可以访问覆盖wantsToTrackMouse和接口highlight...trackMouse...

  2. 创建空NSTextAttachment(如果需要,它也可以被子类化)并将您的单元格实例设置为attachmentCell

  3. 在所需单词的范围内将上述文本附件添加到您的 NSTextStorage (可变属性字符串)NSAttributedString.Key.attachment

于 2020-07-01T12:00:12.363 回答