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