SwiftUI MacOSX ImagePicker

dav*_*dev 1 xcode image swift swiftui

我正在使用 SwiftUI 创建一个 Mac OSX 应用程序。我想要一个 ImagePicker/文件选择器(仅限图像类型)从文件系统中选择一个图像并将其显示在我的Image().

我找不到正确的方法。我已经习惯了 iOS 中使用 ObjectiveC 的 UIImagePicker。正确的做法是什么?

举个例子,我有一个按钮,想在按下按钮时调用 ImagePicker。

在此处输入图片说明

Apple 通讯录正在使用这种模式视图。我们也可以使用吗?

小智 8

macOS 中的 SwiftUI

import SwiftUI

struct FileView: View {
    var body: some View {
        Button("Select File") {
            let openPanel = NSOpenPanel()
            openPanel.prompt = "Select File"
            openPanel.allowsMultipleSelection = false
                openPanel.canChooseDirectories = false
                openPanel.canCreateDirectories = false
                openPanel.canChooseFiles = true
                openPanel.allowedFileTypes = ["png","jpg","jpeg"]
                openPanel.begin { (result) -> Void in
                    if result.rawValue == NSApplication.ModalResponse.OK.rawValue {
                        let selectedPath = openPanel.url!.path
                        print(selectedPath)

                    }
                }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)