首页 > 解决方案 > SwiftUI MacOSX ImagePicker

问题描述

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

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

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

在此处输入图像描述

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

标签: swiftxcodeimageswiftui

解决方案


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)

                    }
                }
        }
    }
}

推荐阅读