根据按键更改Nspopupuputton项目的可见性
-
25-10-2019 - |
题
我这里有一个应用程序,需要从外部文件中读取大量数据,并将其显示为 NSPopUpButton
在可可用户界面中。这里的捕获是,正在阅读的数据需要有一个标志,该标志是否被视为“隐藏”。
如果隐藏数据,则需要将其添加到 NSPopUpButton
作为一个 NSMenuItem
, ,但是 hidden
标志需要设置为 YES
因此,它通常不会出现在 NSPopUpButton
菜单。如果用户在其键盘上(通常在这种情况下,通常是Alt)上按下“魔法键”,则需要不限制那些隐藏的对象。如果用户放开ALT密钥,则需要自动重新隐藏它们,除非可能选择的钥匙 NSMenuItem
被选中。
实际上,我有点花时间来解决这个问题。
我想知道是否有一种直接的方法 NSArrayController
和 NSPopUpButton
, ,但是到目前为止,我还找不到类似于解决方案的任何东西 - 不是在管理隐藏属性时 NSMenuItem
对象。
有谁知道使用可可绑定如何实现这一目标?
解决方案
您可以将弹出窗口连接到数组控制器,并更改滤镜谓词。从MVC设计的角度来看,您不会使用“隐藏”之类的属性,这是视图特征,但也许是“高级”。通常,将数组控制器上的过滤器谓词设置为“高级=否”。然后,当用户持有您的首选修饰符时,请删除谓词。弹出窗口将自动更新。数组控制器应绑定到另一个对象上的数组属性(在数据模型中)。弹出窗口应绑定到阵列控制器上的布置对象。
不隶属于 StackOverflow