我有一个NSPopover,他在NSView中有内容。我创建了popover并添加了这样的视图:
NSPopover *thePopover = [[NSPopover alloc] init];
[thePopover setContentViewController:myViewController];
然后我会显示弹出窗口并设置大小:
[thePopover setContentSize:NSMakeSize(300.0f, 160.0f)];
此时弹出窗口可见,其内容视图正确。有没有办法让我可以在不关闭并重新显示的情况下调整popover的大小?
答案 0 :(得分:10)
我能够通过回调通过委托协议启动弹出窗口的控制器并使用setContentSize:
重置大小来实现此目的
答案 1 :(得分:1)
答案 2 :(得分:0)
NSWindow
有私有财产_popover
,用于存储对NSPopover
的引用。
您可以使用它从任意NSPopover
访问NSViewController
个实例(然后在其上调用setContentSize:
),如下所示:
- (NSPopover *)popover
{
NSWindow *window = self.view.window;
NSPopover *popover = [window valueForKey:@"_popover"];
return popover;
}