有没有办法在NSTableView中实现多项选择行为,而无需用户在点击时按住命令按钮?在碳列表框中很容易做到,在鼠标按下处理期间,通过ORing在cmdKey修饰符标志中,调用HandleControlClick()函数。我是Cocoa的新手,我不清楚如何以编程方式轻松修改事件,或者这是否是最佳解决方案。
答案 0 :(得分:4)
子类NSTableView并使您的表视图成为此子类的实例。在子类中,通过基于您收到的事件创建新的鼠标事件来响应mouseDown:
和mouseUp:
,只有NSCommandKeyMask
标志ORed到修饰符标志,并传递新的事件最多super
。
但是,我希望您的用户可以选择多个项目。另外,不要破坏Shift键 - 确保连续选择仍然有效。