Gibt es eine Möglichkeit, nach dem Aufnehmen eines Fotos eine benutzerdefinierte Vorschau zu erstellen?IOS

Programmierung für iOS
Guest
 Gibt es eine Möglichkeit, nach dem Aufnehmen eines Fotos eine benutzerdefinierte Vorschau zu erstellen?

Post by Guest »

Ist es möglich, eine benutzerdefinierte Ansicht für die Retake/UsePhoto-Ansicht zu entwickeln?
Hier ist der Bildschirm der benötigten Komponente:
https://i.sstatic.net/ jtGZ7fhF.png
Diese Vorschau erscheint unmittelbar nach der Aufnahme des Fotos. Ich kann das Foto entweder ablehnen oder das von mir aufgenommene Foto verwenden.
Ich muss das Design dieses Fotos ändern: Ersetzen Sie die Schaltflächen durch andere Schaltflächen und fügen Sie ein Textfeld hinzu. Wie kann ich das mit Standardcode machen?
Hier ist mein Code:

Code: Select all

struct ImagePicker: UIViewControllerRepresentable {

@Environment(\.presentationMode) private var presentationMode

@Binding var state: PhotoViewModel.ImageState
@Binding var selectedImage: UIImage?

let sourceType: UIImagePickerController.SourceType

init(selectedImage: Binding, sourceType: UIImagePickerController.SourceType) {
self._state = .constant(.none)
self._selectedImage = selectedImage
self.sourceType = sourceType
}

init(state: Binding, sourceType: UIImagePickerController.SourceType) {
self._selectedImage = .constant(nil)
self._state = state
self.sourceType = sourceType
}

func makeUIViewController(context: Context) -> UIImagePickerController {
let picker = UIImagePickerController()
picker.sourceType = sourceType

if sourceType == .camera {
picker.cameraDevice = .rear
}

picker.delegate = context.coordinator
picker.allowsEditing = false

return picker
}

func updateUIViewController(_ uiViewController: UIImagePickerController, context: Context) {}

func makeCoordinator() -> Coordinator {
Coordinator(self)
}

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[UIImagePickerController.InfoKey.originalImage] as? UIImage {
parent.state = .picked(uiImage)
parent.selectedImage = uiImage
parent.presentationMode.wrappedValue.dismiss()
}
}
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post