1

我遇到了与此相同的问题: This one. 到目前为止,它从未得到过答复。用两个词:延迟打开NSPopUpButton

当您将NSPopUpButtonCell放入NSTableView中时,弹出窗口在之前打开,表视图中的选择已更改。

如果popUp的菜单依赖于选择tableView的一行,它将被更新得太晚。

解决方案1:用几秒后调用[super]的块来区分popUp的打开方式。但我不知道我必须重写哪种方法。

解决方案2:使用我当前正在使用的其他绑定(popUp包含表中选择的实体的NSSet,我使用的是不同的控制器,而不是表的,并将其内容集绑定到myTable.selection.theSet。

有没有别的东西,我能做什么呢?谢谢!

回答

0

是的,如果你使用基于视图的tableView,可以绑定通过cellView的弹出它的里面(像其他表在此模式下绑定的对象),因此它是完全明确的并且不依赖于选择。

In view-bas ed模式,每行中的每个单元格都会被赋予一个来自原始数据的'objectValue',因此您可以直接绑定它,如'objectValue.popUpContents'。