我有一个NSTextField
,它由一个自定义视图嵌套,我想更改一行中多次点击的默认行为(双击,tripple点击等),类似于文本节点MindNode的行为(请参阅下图)。更改NSTextField在连续多次点击中的行为
我想要第一次点击“激活”文本字段,然后从头开始(如重置事件的点击次数)。
我有以下想法,但我不知道如何实现他们,如果他们真的有意义:
- 使用
+[NSEvent doubleClickInterval]
不知怎的,更改时间和第二点击放缓。 - 以编程方式减少点击次数?
- 使用
-hitTest:
使NSTextField不可选择,将点击转发到超级视图,更改文本字段的某些参数并接受下次点击。在这种情况下,第二次点击的点击次数仍为2. - 覆盖
-mouseDown:
而不是调用超级。这打破了NSTextField的选择功能。
我希望有一个更简单的方法来实现这一点,我忽略了。
感谢您的回答!
这是问题的图形表示:
那么,你想要的第一次点击做任何事情?为什么你想这样做,似乎你只是添加一个无用的点击。 – rdelmar
它实际上是使文本字段“活动”,以便它可以像正常的NSTextField一样处理。此外,它会做某种视觉事物(类似于图片中的MindNode解决方案),但这不是问题。 –
MindNode中的第一次点击/点击选择节点本身。这意味着要对整个节点的图形表示进行操作(请注意第三个图像的第二阶段中的调整大小手柄)。下一次单击将重点关注节点的字段。 –