2012-04-12 18 views
0

私は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];  
} 
+0

アプリがSnow LeopardやNSMenuなどで動作する場合はNSPopover以外のものを使用するか、独自のPopoverクラスを作成する必要があります。 – Vervious

+0

ありがとうございます。以前のオペレーティングシステムでNSDrawerを使用することに決めました。ユーザーが10.6または10.7を実行した場合、どのように私がどのように解決できるか、どのような考えですか? – user1330190

+0

NSPopoverクラスの存在を確認してください。 –

答えて

2
あなたのプログラムで

使用MAAttachwindowとMAC OSバージョンの

0

チェック(linkを試してみてください)、NSDrawerを10.6使用する場合はNSPopoverを使用します。

関連する問題