2014-11-13 2 views
0

Я пытаюсь создать приложение для камеры, где видеопоток с камеры ограничен размером, который я определил в макете раскадровки, где я использую UIImageView, называемый imageView, для рисования из макета. Я использовал инструмент pin для ограничения изображения на определенном расстоянии от сторон представления, но я получаю странное поведение, когда изображениеView выглядит правильно, но слой предварительного просмотра камеры, называемый previewLayer, отключен. Я не знаю, почему это так, я использую ImageView кадра для определения кадра previewLayer следующим образом:Завершение AVCaptureVideoPreviewLayer для определенного фрейма в Swift

previewLayer = AVCaptureVideoPreviewLayer(session: captureSession) 
    self.view.layer.addSublayer(previewLayer) 
    let viewLayer : CALayer = imageView.layer 
    previewLayer?.frame = imageView.frame 

Похоже, я не могу отправить изображение, но то, что я получаю это imageView позиционируется как ожидалось, но уровень предварительного просмотра камеры намного меньше, хотя я пытаюсь получить два одинаковых точных размера.

Я не уверен, что я должен сделать, чтобы сделать предварительный просмотр камеры того же размера, что и изображениеView (которое я могу перемещать по раскадровке). Любая помощь очень ценится!

ответ

0

Проблема была вызвана автозапуском из-за инструмента вывода, который изменил границы изображения. Однако границы предварительного просмотра были определены предыдущими границами imageView до того, как были применены ограничения. Чтобы устранить проблему, я сделал вызов layoutIfNeeded(), который заставил применять ограничения, и поэтому предварительный просмотр получил окончательные границы для imageView.