Ich versuche AVfoundation Grundlagen zu lernen. Momentan versuche ich, die einfachste Demo für eine benutzerdefinierte Kamera zu erstellen. Das allgemeine Schema ist also für AVCaptureVideoPreviewLayer
Layout-Problem bei der Verwendung von AVCaptureVideoPreviewLayer
UIView
als Behälter zu verwenden ich eine previewLayer auf folgende Weise erstellen:
let previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
Als folgend ich dies tun:
previewLayer?.frame = self.imageView.bounds
self.imageView.layer.addSublayer(previewLayer)
captureSession.startRunning()
Das ist im Grunde es . Als Ergebnis wird die captureSession ausgeführt, aber die Kameravorschau ist innerhalb der UIView
visuell falsch platziert. Bitte beachten Sie, das Bild unten
Allerdings habe ich fast sicher, dass ich alles richtig im Storyboard tat Es tut mir leid, weiß ich nicht, was hinzuzufügen, da ich in schnellen relativ neu bin. Bitte lassen Sie mich wissen, wenn ich irgendwelche Informationen vermisse, die ich beantworten muss.
Also die Frage ist, was könnte der Grund für diese Art von UI-Verhalten sein?
Vielen Dank im Voraus.
Hallo. Danke für deine Antwort. Ich habe das getan, was Sie vorgeschlagen haben, indem Sie nach dem Hinzufügen der Vorschauebene layer.bounds zuweisen. Es hat nicht funktioniert. Und ja, ich benutze AutoLayout. Ich freue mich zu wissen, ob Sie noch andere Ideen haben. Danke –
Stellen Sie sicher, dass Ihre ImageView richtig positioniert ist. Sie können einen Haltepunkt festlegen und auf diese Weise überprüfen. Sie können auch den 'previewLayer'-Rahmen überprüfen. Sie können auch Xcode Debug/View Debuggen verwenden. – stevekohls
OK, werde ich das untersuchen. Wenn einer dieser Arbeiten funktioniert, werde ich Ihre Antwort akzeptieren. Vielen Dank –