0

我有一个应用程序,可以让用户输入文件,处理它,然后让用户保存文件。我在保存对话框中遇到了一个小问题。我的应用程序允许用户保存的文件类型应该只是 txt 文件。但我确实允许用户使用其他类型,所以我输入trueallowsOtherFileTypes. 这是我的代码:

let savePanel = NSSavePanel()
savePanel.allowedFileTypes = ["txt"]
savePanel.allowsOtherFileTypes = true
savePanel.beginSheetModal(for: self.window!, completionHandler: { response in
        // Save handlers here.
    })

问题是,如果用户放置了除 txt 之外的另一个扩展名,我的应用程序假设会弹出一个警报,询问用户是否要对该文件使用该扩展名,但该警报会作为它自己的窗口而不是工作表弹出:

窗口而不是工作表

我应该添加什么以使此警报显示为保存窗口上的工作表而不是新窗口?

系统:macOS Sierra、Xcode 8.2、Swift 3

4

1 回答 1

1

汤姆,

在 macOS 上,您不能在工作表上放置工作表。由于 macOS 将第一个工作表(保存面板)放在窗口顶部,因此确认应用程序的非标准文件扩展名的第二个对话框不能是工作表。

希望有帮助。

于 2018-03-11T04:58:05.560 回答