Cocoa 单击NSActionCell时,防止在NSOutlineView中更改选择
我有一个自定义NSActionCell,用于渲染NSOutlineView中某些行的某些部分。我可以接收并响应对NSActionCell的单击,但单击该单元格时选择也会发生变化。如果单击我的一个自定义NSActionCell,我希望阻止更改选择Cocoa 单击NSActionCell时,防止在NSOutlineView中更改选择,cocoa,user-interface,macos,Cocoa,User Interface,Macos,我有一个自定义NSActionCell,用于渲染NSOutlineView中某些行的某些部分。我可以接收并响应对NSActionCell的单击,但单击该单元格时选择也会发生变化。如果单击我的一个自定义NSActionCell,我希望阻止更改选择 有没有一个简单的方法可以做到这一点?回答我自己的问题: 如果要单击的单元格(随后不选择行)位于其自己的列中,则以下Apple示例非常有用: 该示例依赖于实现以下方法(在第304行的AppController.m中实现): 如果您在另一个单元格中有一个单
有没有一个简单的方法可以做到这一点?回答我自己的问题: 如果要单击的单元格(随后不选择行)位于其自己的列中,则以下Apple示例非常有用: 该示例依赖于实现以下方法(在第304行的AppController.m中实现): 如果您在另一个单元格中有一个单元格,您仍然可以使用该方法,但是您需要做更多的工作来确定是否在子单元格中单击了鼠标。下面的苹果示例是一个很好的逻辑示例:
NSCell始终位于单个NSTABLE列中,因为该单元格是该列的属性。要使一个单元格看起来横跨多个列,唯一的方法是将其伪造。
- (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item