禁用所有元素的tableview

时间:2017-09-27 06:54:33

标签: swift macos cocoa nstableview

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

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

myTableView.deselectAll(nil)
myTableView.isEnabled = false

这很好用,但我找到了一点" bug"。 如果我选择了我的tableview的文本字段(编辑模式) 然后按下我的按钮,桌面视图将被禁用,所有选定的行将取消选择,但我可以编辑我的文本字段的内容而没有问题,因为"编辑模式"还在。

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

1 个答案:

答案 0 :(得分:0)

您可以使用

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

这应该可以解决问题。