我在我的Mac应用程序中实现了NSPopover。它在10.7 Lion中效果很好,但在10.6 Snow Leopard中启动时会崩溃。我知道对NSPopover的支持是在Lion中引入的,并且在10.6中不支持,但我想知道如何使我的应用程序与好的旧版“Snow Leopard”兼容。NSPopover和Snow Leopard
我很新的Mac开发,但这里是代码。有小费吗? (该酥料饼位于MainWindow.xib中)
.H
NSPopover *popOver;
@property (assign) IBOutlet NSPopover *popOver;
- (IBAction)showPopover:(id)sender;
.M
- (IBAction)showPopover:(id)sender
{
if (popOver.isShown) {
[self.popOver close];
}
[[self popOver] showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxYEdge];
}
当应用程序在Snow Leopard上运行时(例如NSMenu),或者创建自己的popover类时,您将不得不使用NSPopover以外的其他程序。 – Vervious 2012-04-12 21:58:10
谢谢。我决定为以前的操作系统使用NSDrawer。任何想法如何我可以决定如果用户运行10.6或10.7? – user1330190 2012-04-16 12:36:21
只需检查是否存在NSPopover类。 – 2012-04-25 09:52:08