NSTableView中的可编辑NSTextField

时间:2015-05-01 11:42:18

标签: cocoa swift

我有一个基于NSTableView的视图,在我的自定义和子类视图中有一些标签。其中一个标签应该是可编辑的,因此我将此NSTextField设置为可编辑。

但现在我有两个问题,我无法解决:

1)如果我将鼠标移到可编辑的NSTextField上,则光标不会更改为IBeamCursor(编辑光标)。

2)我需要双击标签,才能进行编辑。我想点击一下。我在stackoverflow找到了这个问题的一些解决方案,最好的方法是覆盖acceptsFirstResponder以返回true,但是,单击NSTextField选择整个文本而不是将光标放在点击的位置。 / p>

1 个答案:

答案 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提醒应用程序就是一样。