diff --git a/enzevalos_iphone/SwiftUI/Compose/ImagePicker.swift b/enzevalos_iphone/SwiftUI/Compose/ImagePicker.swift new file mode 100644 index 0000000000000000000000000000000000000000..cb889303e45e64f2bcef9fe90cb4ff51219adde9 --- /dev/null +++ b/enzevalos_iphone/SwiftUI/Compose/ImagePicker.swift @@ -0,0 +1,45 @@ +// +// ImagePicker.swift +// enzevalos_iphone +// +// Created by Aylin Akkus on 26.03.21. +// Copyright © 2021 fu-berlin. All rights reserved. +/// This file is a SwiftUI wrapper for UIImagePickerController +/// it can be used it to attach pictures to a mail and preview them +import SwiftUI + +struct ImagePicker: UIViewControllerRepresentable { + @Environment(\.presentationMode) var presentationMode + @Binding var image: UIImage? + var xy = 3 + + class Coordinator: NSObject, UINavigationControllerDelegate, UIImagePickerControllerDelegate { + let parent: ImagePicker + + init(_ parent: ImagePicker) { + self.parent = parent + } + + func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) { + if let uiImage = info[.originalImage] as? UIImage { + parent.image = uiImage + } + + parent.presentationMode.wrappedValue.dismiss() + } + } + + func makeCoordinator() -> Coordinator { + Coordinator(self) + } + + func makeUIViewController(context: UIViewControllerRepresentableContext<ImagePicker>) -> UIImagePickerController { + let picker = UIImagePickerController() + return picker + } + + func updateUIViewController(_ uiViewController: UIImagePickerController, context: UIViewControllerRepresentableContext<ImagePicker>) { + + } +} +