【发布时间】:2017-04-07 04:39:04
【问题描述】:
我目前正在为我的 macOS 应用程序实现 NSTouchBar api。
此时,我唯一拥有的触摸栏将主视图控制器作为其委托,我可以向其添加项目。问题是,我需要其中一些项目仅在满足特定条件时才出现(在表格中选择了一行)。
考虑一下我有一个布尔值来指示按钮是否应该可见。如果我的布尔值发生变化,如何即时更新 NSTouchBar 以显示/隐藏此按钮? (我不需要观察这个布尔值,我可以简单地在我已经实现的另一个方法中调用更新)
我现在所做的如下:在touchBar(:makeItemForIdentifier) 中,我有一个用于所有标识符的开关,在正确的case 下,我要么用按钮返回NSCustomTouchBarItem,要么返回nil,如果我的布尔值是false。
我尝试在选择表格的一行后再次调用makeTouchBar,但它不会更新按钮的可见性,就好像没有再次调用touchBar(:makeItemForIdentifier)。
谢谢!
【问题讨论】:
-
你试过设置触摸项的isVisible属性吗?
-
该属性是只读的。
标签: swift macos swift2 nstouchbar