我这里有一个应用程序,需要从外部文件中读取大量数据,并将其显示为 NSPopUpButton 在可可用户界面中。这里的捕获是,正在阅读的数据需要有一个标志,该标志是否被视为“隐藏”。

如果隐藏数据,则需要将其添加到 NSPopUpButton 作为一个 NSMenuItem, ,但是 hidden 标志需要设置为 YES 因此,它通常不会出现在 NSPopUpButton 菜单。如果用户在其键盘上(通常在这种情况下,通常是Alt)上按下“魔法键”,则需要不限制那些隐藏的对象。如果用户放开ALT密钥,则需要自动重新隐藏它们,除非可能选择的钥匙 NSMenuItem 被选中。

实际上,我有点花时间来解决这个问题。

我想知道是否有一种直接的方法 NSArrayControllerNSPopUpButton, ,但是到目前为止,我还找不到类似于解决方案的任何东西 - 不是在管理隐藏属性时 NSMenuItem 对象。

有谁知道使用可可绑定如何实现这一目标?

有帮助吗?

解决方案

您可以将弹出窗口连接到数组控制器,并更改滤镜谓词。从MVC设计的角度来看,您不会使用“隐藏”之类的属性,这是视图特征,但也许是“高级”。通常,将数组控制器上的过滤器谓词设置为“高级=否”。然后,当用户持有您的首选修饰符时,请删除谓词。弹出窗口将自动更新。数组控制器应绑定到另一个对象上的数组属性(在数据模型中)。弹出窗口应绑定到阵列控制器上的布置对象。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top