知道 NSPopoverTouchBarItem 何时显示其折叠视图

Knowing when NSPopoverTouchBarItem will show its collapsed view

我的 Touch Bar 中有一个 NSPopoverTouchBarItem,是在 Interface Builder 中创建的。

popover 里面有一个自定义的 NSView,只有当视图被激活时才想在其中加载数据,但是我找不到任何方法来识别包含的 NSTouchBarNSView 变得可见。

根据文档,NSTouchBarDelegate 也没有任何用于显示视图的委托方法。

我应该子 class 哪个 class,或者我应该在我的自定义 NSView 上监控 viewWillDraw 并设置一些 hacky 方案?

文档不是很清楚,但是 subclassing NSPopoverTouchBarItem 给你 -(void)showPopover:(id)sender-(void)dismissPopover:(id)sender.

然后您可以定义一个委托方法来告诉父级 class 这个弹出窗口确实显示了。

-(void)showPopover:(id)sender {
    [super showPopover:sender];
    [self.delegate touchPopoverDidShow];
}