2020-02-07-SwiftUI-ImagePicker

Following code snippet illustrates how to use image picker.

struct SomeViewOfYourProject: View {
    @State private var showImagePicker: Bool = false
    @State private var uiImage: UIImage? = nil

    var image: Image? {
        guard let uiImage = uiImage else { return nil }
        return Image(uiImage: uiImage)
    }

    var body: some View {
        VStack {
            Text("Hello World")
            assignPhotoButton
        }.sheet(isPresented: $showImagePicker) {
            PhotoCaptureView(showImagePicker: self.$showImagePicker, image: self.$uiImage)
        }
    }

    var assignPhotoButton: some View {
        VStack {
            if (image != nil) {
                image!
                    .resizable()
                    .scaledToFit()
                    .frame(width: 100, height: 100)
            } else {
                Image(systemName: "camera")
                    .frame(width: 100, height: 100)
                Text("Assign Photo")
            }
        }.onTapGesture {
            self.showImagePicker = true
        }
    }
}

Following code snippet, just copy and paste it into a file inside project.

Last updated

Was this helpful?