mirror of
https://github.com/Dimillian/IceCubesApp.git
synced 2024-05-17 03:52:42 +00:00
39 lines
1.1 KiB
Swift
39 lines
1.1 KiB
Swift
import SwiftUI
|
|
import UIKit
|
|
|
|
extension StatusEditor {
|
|
struct CameraPickerView: UIViewControllerRepresentable {
|
|
@Binding var selectedImage: UIImage?
|
|
@Environment(\.dismiss) var dismiss
|
|
|
|
class Coordinator: NSObject, UINavigationControllerDelegate, UIImagePickerControllerDelegate {
|
|
let picker: CameraPickerView
|
|
|
|
init(picker: CameraPickerView) {
|
|
self.picker = picker
|
|
}
|
|
|
|
func imagePickerController(_: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) {
|
|
guard let selectedImage = info[.originalImage] as? UIImage else { return }
|
|
picker.selectedImage = selectedImage
|
|
picker.dismiss()
|
|
}
|
|
}
|
|
|
|
func makeUIViewController(context: Context) -> UIImagePickerController {
|
|
let imagePicker = UIImagePickerController()
|
|
#if !os(visionOS)
|
|
imagePicker.sourceType = .camera
|
|
#endif
|
|
imagePicker.delegate = context.coordinator
|
|
return imagePicker
|
|
}
|
|
|
|
func updateUIViewController(_: UIImagePickerController, context _: Context) {}
|
|
|
|
func makeCoordinator() -> Coordinator {
|
|
Coordinator(picker: self)
|
|
}
|
|
}
|
|
}
|