我的基于文档的应用程序支持多种不同的文件类型。它目前是用 SwiftUI 编写的,使用UIDocumentBrowserViewController
. 我正在尝试转换为DocumentGroup
不直接使用 UIDocumentBrowserViewController的新 SwiftUI (v2)范例。我需要让用户在点击浏览器中的“创建”按钮时选择要创建的文档类型。使用 DocumentGroup,我看不出这是怎么可能的。创建 DocumentGroup 时,必须在此处指定文档:
var body: some Scene {
DocumentGroup(newDocument: TextDocument()) { file in
TextDocumentEditor(document: file.$document)
}
}
Run Code Online (Sandbox Code Playgroud)
使用 UIKit 时,浏览器调用委托函数didRequestDocumentCreationWithHandler
,让应用程序在继续之前注入一些 UI 以选择文档类型。事实上,您可以做的是为文档浏览器提供一个模板文件,用于创建新文档。这在 SwiftUI 2 中可能吗?
ios swift swiftui uidocumentbrowserviewcontroller documentgroup
使用对 FileDocument 的新 SwiftUI 支持,是否有办法像 UIDocument 一样提供冲突解决方案?UIDocument 提供documentState
和stateChangedNotification
. FileDocument 中没有定义任何指示此功能的内容。而且 SwiftUI 似乎没有为您的应用程序提供任何自动冲突解决 UI。因此,当用户选择版本冲突的文档时,您的应用程序不会察觉,只是打开该文档供用户编辑。