禁用所有元素的表视图

disable tableview with all elements

我在 macOS 上使用 swift 4,我有一个 NSButton,它应该禁用我的 NSTableView 的所有元素(文本字段,按钮,...)

在我的按钮的 IBAction 中,我有以下代码行:

myTableView.deselectAll(nil)
myTableView.isEnabled = false

这个效果很好,但我发现了一点"bug"。 如果我 select 我的表格视图的文本字段(编辑模式打开) 然后按下我的按钮,tableview 将被禁用,所有 selected 行将取消 select,但我可以毫无问题地编辑我的文本字段的内容,因为 "edit mode" 是还在。

我必须手动禁用 tableview 中的所有文本字段还是有什么巧妙的技巧?

您可以使用

让 NSTextField 失去响应者
view.window?.makeFirstResponder(view.window)

这应该可以解决问题。