1

Macアプリでサンドボックスを使用する場合、メニュー項目「エクスポート」をクリックすると、NSOpenPanelを使用してダイアログが開くはずですが、開きません。これが私が持っているコードです:

[playExportPanel beginSheetModalForWindow:mainWindow
                        completionHandler: ^(NSInteger result) {
     if(result == NSFileHandlingPanelOKButton) {
             ....
     }
}]

例外をスローします:-[NSRemoteOpenPanel close]: unrecognized selector sent to instance。何NSRemoteOpenPanelですか?誰かがこれを見たことがありますか?

4

1 に答える 1

2

自分のアプリでこの問題を修正しました。を削除しました[sheet close];。それから[sheet orderOut:self];後で交換しました。あなたの場合、後者は必要ないかもしれません。私のコードでは、ブロックコードが戻る前にエラーシートが表示される場合があります。これは、私がこの星座に持つのが好きではない積み重ねられたシートを引き起こすでしょう:それは散らかっているように見えます。

非推奨のAPIから「-beginSheetModalForWindow:completionHandler:」に移行し、古いコードを再利用した可能性があります。-closeの呼び出しが削除されても、ブロックが戻った後、パネルは閉じられます。これはおそらく新しいAPIの動作の一部ですが、ドキュメントに記載されているものはまだ見つかりません。

于 2012-05-19T08:09:51.230 に答える