我有一个使用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];
答案 0 :(得分: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];
}
}];