我有一个包含NSPopUpButtonCells列的NSTable。我想根据表中另一列的内容来过滤NSPopUpButtonCell。这感觉应该有一个相当简单的解决方案,但目前我提出的解决方案似乎非常复杂。我最大的问题似乎是,当应用程序运行时,当我点击一个NSPopUpButtonCell时,我找不到在菜单显示之前激活的东西,然后启动过滤器。我尝试过一些像tableViewSelectionIsChanging这样的东西:但它们似乎都是在PopUpButton列表激活后激活的。
任何帮助都是非常感谢的。
发布于 2009-07-20 05:06:03
事实证明,这个问题有一个简单的解决方案。我使用NSArrayController来控制表中的行。每一行都是InputCell类的一个对象。我添加了一个向InputCell类返回NSArray的方法,该方法使用self valueForKey:根据单元格的过滤条件创建不同的数组。然后,我可以使用绑定通过NSArrayController将NSPopUpButtonCell的内容绑定到数组。
发布于 2009-07-19 12:31:38
在您的tableView:willDisplayCell:委托方法中,您可以复制用于单元格的菜单,适当地过滤或填充它,然后将其设置为单元格的菜单。这应该会达到预期的效果。
https://stackoverflow.com/questions/1149490
复制相似问题