我有一个基于NSTableView的视图,在我的自定义和子类视图中有一些标签。其中一个标签应该是可编辑的,因此我将此NSTextField设置为可编辑。
但现在我有两个问题,我无法解决:
1)如果我将鼠标移到可编辑的NSTextField上,则光标不会更改为IBeamCursor
(编辑光标)。
2)我需要双击标签,才能进行编辑。我想点击一下。我在stackoverflow找到了这个问题的一些解决方案,最好的方法是覆盖acceptsFirstResponder
以返回true,但是,单击NSTextField选择整个文本而不是将光标放在点击的位置。 / p>
答案 0 :(得分:4)
抱歉......这是重复的。我发现了这个:
NSTableView - select row and respond to mouse events immediately
您必须继承NSTableView
。我的快捷代码:
class TableViewEditing: NSTableView {
...
override func validateProposedFirstResponder(responder: NSResponder, forEvent event: NSEvent?) -> Bool {
return true
}
}
修改强>:
只有一个缺点:有时进入编辑模式,似乎只是短暂选择并取消选择文本。但是你可以看到,这是一个可可问题,例如Apple提醒应用程序就是一样。