ALe*_*opa 11 macos ios swift swiftui mac-catalyst
所以我一直在干预将一个小型 SwiftUI iPad 应用程序“移动”到 Mac,并且我在使用UIDocumentPickerViewController. 我已经包裹UIDocumentPickerViewController在一个UIViewControllerRepresentable像这样:
struct DocumentPickerView: UIViewControllerRepresentable {
func makeUIViewController(context: Context) -> UIDocumentPickerViewController {
let documentPicker = UIDocumentPickerViewController(documentTypes: [(kUTTypeImage as String)], in: .import)
return documentPicker
}
func updateUIViewController(_ uiViewController: UIDocumentPickerViewController, context: Context) {
}
}
Run Code Online (Sandbox Code Playgroud)
并像这样显示它:
struct ContentView: View {
@State var shows = false
var body: some View {
Button(action: { self.shows.toggle() }) {
Text("Select File")
}
.sheet(isPresented: self.$shows) {
DocumentPickerView()
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是当在 Mac 上时,UIDocumentPickerViewController没有显示,我们得到这个空白的模式:
小智 0
由于某种原因(我不知道进一步的具体细节),以下内容对我有用(对于 Catalyst):
而不是使用in: .import
let documentPicker = UIDocumentPickerViewController(
documentTypes: [(kUTTypeImage as String)],
in: .import
)
Run Code Online (Sandbox Code Playgroud)
使用in: .open
let documentPicker = UIDocumentPickerViewController(
documentTypes: [(kUTTypeImage as String)],
in: .open
)
Run Code Online (Sandbox Code Playgroud)
我还没有检查 iOS 中是否保留了该功能,但也许您可以使用某种“标志”来确定是否使用.import或.open
| 归档时间: |
|
| 查看次数: |
2764 次 |
| 最近记录: |