可编辑的NSTextField在NSTableView中

4
我有一个基于视图的NSTableView,其中包含一些自定义和子类化视图中的标签。其中一个标签应该是可编辑的,因此我将这个NSTextField设置为可编辑。
但现在我有两个问题无法解决:
1)如果将鼠标移动到可编辑的NSTextField上,光标不会更改为IBeamCursor(编辑光标)。
2)我需要双击标签才能进行编辑。我想要单击。我在stackoverflow上找到了一些解决方案,最好的方法是覆盖acceptsFirstResponder以始终返回true,但是这样,单击NSTextField会选择整个文本而不是将光标放置在单击位置。
1个回答

4

抱歉...这是一个重复的问题。我找到了这个:

NSTableView - 选择行并立即响应鼠标事件

您需要子类化NSTableView。我的Swift代码:

class TableViewEditing: NSTableView {

    ...

    override func validateProposedFirstResponder(responder: NSResponder, forEvent event: NSEvent?) -> Bool {
        return true
    }
}

编辑:

唯一的缺点是有时进入编辑模式时,似乎文本只是短暂地被选择然后取消选择。但是你可以看到,这是一个Cocoa问题,在苹果提醒应用程序中也是一样的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接