Как ограничить наложение только предварительным просмотром камеры UIImagePickerController
Я использую UIImagePickerController()
чтобы отобразить камеру в моем быстром iOS-приложении и позволить пользователю делать снимки. Я хотел бы показать сетку как наложение, поэтому я начал реализовывать ее как .cameraOverlayView
Проблема заключается в том, что наложенное изображение или виды будут распространяться на черные полосы сверху и снизу вида с камеры. Это нежелательно, поскольку линия сетки будет проходить над кнопкой камеры, кнопкой отмены и т. Д.
Я не мог найти способ доступа к кадру окна предварительного просмотра камеры, чтобы ограничить наложение только этим. Что мне не хватает?
1 ответ
На самом деле, это может быть немного раздражающим, нет способа получить размеры этих полос или области предварительного просмотра камеры, и вы не можете получить подпредставления UIImagePickerController
и поэтому вы не можете добавить ограничения для этого. Но вы можете использовать тот факт, что соотношение сторон области предварительного просмотра камеры всегда известно как 4/3, а ширина наложения должна быть шириной экрана, а высота должна быть (widthScreen / 3) * 4
Другой способ установить imagePicker.showsCameraControls = false
и создавать пользовательские элементы управления с наложением на fullScreen.
(использовать imagePicker.cameraViewTransform
для того, чтобы установить область предварительного просмотра камеры на весь экран).