2

を使用していたアプリがありbeginSheetForDirectory:file:modalForWindow:modalDelegate:didEndSelector:contextInfo:ます。

廃止されたと述べているAppleのドキュメントを確認し、代わりに別の方法を使用しました。

[保存]パネルを、指定されたパスと、オプションでそのパスに指定されたファイルを含むシートとして表示します。(Mac OS X v10.6では非推奨です。代わりにbeginSheetModalForWindow:completionHandler:を使用してください。)

私の質問は、このコードを新しいコードに変更する方法ですか?

//  [savePanel setRequiredFileType:@"png"];
[savePanel beginSheetForDirectory:nil 
                             file:nil  
                   modalForWindow:[self window] 
                    modalDelegate:self 
                   didEndSelector:@selector(didEndSaveSheet:returnCode:conextInfo:) 
                      contextInfo:NULL];
4

1 に答える 1

3

あなたは方法を探していますbeginSheetModalForWindow:completionHandler:

例:

NSSavePanel *savePanel = [NSSavePanel savePanel];

[savePanel beginSheetModalForWindow:_window completionHandler:^(NSInteger result) {
    if (result == NSFileHandlingPanelOKButton) {
        NSURL *savePath = [[savePanel URLs] objectAtIndex:0];
    } else {
        [savePanel close];
    }
}];
于 2012-07-07T17:20:27.500 に答える