Есть ли способ создать собственный предварительный просмотр после съемки фотографии?IOS

Программируем под IOS
Ответить
Anonymous
 Есть ли способ создать собственный предварительный просмотр после съемки фотографии?

Сообщение Anonymous »

Можно ли разработать собственное представление для представления Retake/UsePhoto?
Вот экран необходимого компонента:
https://i.sstatic.net/ jtGZ7fhF.png
Этот предварительный просмотр появляется сразу после того, как фотография была сделана. Я могу либо отказаться от фотографии, либо использовать сделанную мной фотографию.
Мне нужно изменить дизайн этой: заменить кнопки другими кнопками, добавить текстовое поле. Как это сделать, используя стандартный код?
Вот мой код:
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()
}
}
}
}



Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-a-photo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»