objective-c - 使用箭头键选择行时,NSTableView 不发送 "selected row"操作

标签 objective-c cocoa nstableview

这是一个非常简单的问题,我知道我以前遇到过,但对于我的一生,我既不记得解决方案,也找不到描述它的页面:

我有一个绑定(bind)到内容数组的 NSTableView。当我用光标单击行时,表会发送我可以处理的操作。当我使用向上/向下箭头键在表格中导航时,它不会发送操作。

我已经验证“列选择”已禁用(这相当于旧的“全行选择”选项,对吧?)并尝试将 NSTableView 设置为连续...没有运气。

请帮忙?谢谢...

最佳答案

我找不到准确解释 NSTableView 何时调用属于其目标操作的文档,但是根据您所说的它似乎专门链接到表中的鼠标按下事件。通过将其视为“选定行”操作,您可能会过度概括。相反,也许您应该将其视为“在表格中按下鼠标”操作,在这种情况下,它的行为完全符合预期 - 仅当您按下鼠标时才会触发该操作。此类事件通常会导致选择更改,但并非总是如此 - 正如您所发现的,选择可以独立于鼠标按下事件而更改。

更常见的是使用各种 NSTableView 委托(delegate)方法,而不是使用表的操作来捕获选择更改。您不使用这些有什么原因吗?

enter image description here

这些提供了有关选择如何更改的更详细信息,并且它们将捕获由任何类型的事件(鼠标、键盘或编程)触发的更改

关于objective-c - 使用箭头键选择行时,NSTableView 不发送 "selected row"操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30416892/

相关文章:

objective-c - NSArrayController 自动重新排列其对象后如何发送消息?

objective-c - 如何在编辑过程中更改基于 View 的表格 View 的外观?

javascript - RCTSharedApplication() 委托(delegate)错误 react native

objective-c - 不知道如何进行 cocoa 绑定(bind)

cocoa - 如何在没有动画的情况下滚动RowToVisible

cocoa - 使用KVC生成SQL?

objective-c - Cocoa 应用程序最简单的 Markdown 实现是什么?

ios - AFNetworking 无法序列化 gzip 响应(响应对象为零)

iphone - 如何更改导航栏下方的边框颜色?

objective-c - 清除 CoreData 和里面的所有东西