2012-04-12 1 views
0

Я внедрил NSPopover в своем приложении Mac. Он отлично работает в 10.7 Lion, но падает при запуске в 10.6 Snow Leopard. Я знаю, что поддержка NSPopover была представлена ​​в Lion и не поддерживается в 10.6, но я хотел бы знать, как сделать мое приложение совместимым с старым старым «Snow Leopard».NSPopover и Snow Leopard

Я довольно новичок в разработке Mac, но вот код. Какие-нибудь советы? (The поповер расположен в 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];  
} 
+0

Вам нужно будет использовать что-то другое, кроме NSPopover, когда приложение работает на Snow Leopard, например NSMenu, или создайте свой собственный класс popover. – Vervious

+0

Спасибо. Я решил использовать NSDrawer для предыдущих операционных систем. Любая идея, как я могу определить, работает ли пользователь 10.6 или 10.7? – user1330190

+0

Просто проверьте наличие класса NSPopover. –

ответ

2

использование MAAttachwindow в вашей программе и попробовать

0

Проверить версию MAC OS (link), и если это 10.6, используйте NSDrawer, иначе используйте NSPopover.

 Смежные вопросы

  • Нет связанных вопросов^_^