iOS10 UIImagePickerController, встроенный в ChildViewController, не отображающий свои подпрограммы правильно

Я использую UIImagePickerController, встроенный в контейнер с квадратным представлением. Он отлично работал на iOS 8 и 9. На iOS 10 внутренние объекты UIImagePickerController не будут растягиваться до полной ширины контроллера выбора камеры. См. 2 скриншота: enter image description here

enter image description here

Выбранный вид в инспекторе просмотра: CAMPreviewView (внутри UIImagePickerController).

Вот код, который я использую для встраивания UIImagePickerController в качестве подзапроса:

- (void) presentCameraInWindow {
[self addChildViewController:self.videoRecorder];

[self.cameraHolder
    addControls:@[self.videoRecorder.view]
    align:VerticalAlignStretchToFullHeight
    withHeight:self.view.bounds.size.width
    verticalPadding: 0.0f
    horizontalPadding:0.0f];

[[self.videoRecorder view] setNeedsLayout];
[self.view layoutIfNeeded];
[self.videoRecorder didMoveToParentViewController:self];
}

ПРИМЕЧАНИЕ. AddControls - это вертикальный механизм компоновки, который я использовал везде. Он создает ограничения автоматически, программно, поэтому мне не нужно.

Я вызываю это в viewDidLoad.

Такая же проблема возникает, если я не использую Constraints, и я устанавливаю кадр UIImagePickerController вручную.

Мы можем четко видеть в инспекторе зрения, что UIImagePickerController правильно раскладывается (на всю ширину и высоту представления контейнера, но внутри него нет внутренних объектов).

Кроме того: использование AVFoundation напрямую не является вариантом сейчас, из-за усилий.

+1
источник поделиться
1 ответ

Я не смог встроить UIImagePickerController в подзаголовок, у которого был меньший кадр, чем у родительского контроллера просмотра. Таким образом, я встроил UIImagePickerController в self.view контроллера View, где он находится. Затем я отправил его обратно, наложив на него сверху сверху по мере необходимости. Я также переместился на свою рамку на определенную сумму, так как мое приложение работает с квадратными видео. Поэтому не против, если я перемещу его рамку частично за пределы видимых координатах экрана, если я не пытаюсь сжимать его кадр меньше, чем он хочет. Если я это сделаю, то внутренний видоискатель подпадает внутри UIImagePickerController начинает неожиданно планировать (отключить). Опять же, эта проблема возникает только на iOS10.

0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос