簡體   English   中英

macOS更改擴展對話框顯示為新窗口,而不是另一個工作表

[英]macOS Change extension dialog appears as a new window instead of another sheet

我有一個應用程序,可以讓用戶輸入文件,進行處理,然后讓用戶保存文件。 我在保存對話框時遇到了一個小問題。 我的應用允許用戶保存的文件類型只能是txt文件。 但是我確實允許用戶使用其他類型,因此我在allowsOtherFileTypes設置為true 這是我的代碼:

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

湯姆

在macOS上,您不能在工作表的頂部放置工作表。 由於macOS將第一張工作表(保存面板)放在窗口頂部,因此第二個對話框(確認應用程序的非標准文件擴展名)不能是工作表。

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM