我在Interface Builder中创建的触摸栏中有一个NSPopoverTouchBarItem
。
弹出框内部有一个自定义NSView,并且只想在激活视图时才在其中加载数据,但是我找不到任何方法来识别包含的NSTouchBar
或NSView
何时可见。
根据文档,NSTouchBarDelegate
对于显示的视图也没有任何委托方法。
我应该继承哪个类,或者应该在自定义viewWillDraw
上监视NSView
并设置一些hacky方案?
文档不太清楚,但是子类化NSPopoverTouchBarItem
会给您-(void)showPopover:(id)sender
和-(void)dismissPopover:(id)sender
。
然后您可以定义一个委托方法来告诉父类此弹出窗口确实显示了。
-(void)showPopover:(id)sender {
[super showPopover:sender];
[self.delegate touchPopoverDidShow];
}