这是一个非常简单的问题,我知道我以前遇到过,但对于我的一生,我既不记得解决方案,也找不到描述它的页面:
我有一个绑定(bind)到内容数组的 NSTableView。当我用光标单击行时,表会发送我可以处理的操作。当我使用向上/向下箭头键在表格中导航时,它不会发送操作。
我已经验证“列选择”已禁用(这相当于旧的“全行选择”选项,对吧?)并尝试将 NSTableView 设置为连续...没有运气。
请帮忙?谢谢...
最佳答案
我找不到准确解释 NSTableView
何时调用属于其目标的操作的文档,但是根据您所说的它似乎专门链接到表中的鼠标按下事件。通过将其视为“选定行”操作,您可能会过度概括。相反,也许您应该将其视为“在表格中按下鼠标”操作,在这种情况下,它的行为完全符合预期 - 仅当您按下鼠标时才会触发该操作。此类事件通常会导致选择更改,但并非总是如此 - 正如您所发现的,选择可以独立于鼠标按下事件而更改。
更常见的是使用各种 NSTableView
委托(delegate)方法,而不是使用表的操作来捕获选择更改。您不使用这些有什么原因吗?
这些提供了有关选择如何更改的更详细信息,并且它们将捕获由任何类型的事件(鼠标、键盘或编程)触发的更改
关于objective-c - 使用箭头键选择行时,NSTableView 不发送 "selected row"操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30416892/