swift 在顶部正确渲染CameraOutput

ax6ht2ek  于 2023-09-30  发布在  Swift
关注(0)|答案(2)|浏览(117)

我有以下代码:

var body: some View {
        VStack {
            CameraView()
        }
...

override public func viewDidLoad() {
        super.viewDidLoad()
        
        // Set up the video preview view.
        previewView.session = session
        previewView.videoPreviewLayer.videoGravity = videoGravity
        previewView.videoPreviewLayer.connection?.videoOrientation = AVCaptureVideoOrientation.portrait
        previewView.frame = view.frame
...

如何让我的CameraPreview渲染在视图的顶部。因为上面有一个页边空白我不知道它是从哪里来的。
这很奇怪,如果我尝试previewView.frame.offset(x: 0, y: -90),它看起来几乎完美,但这不是一个解决方案,这是糟糕的编码。
Here is a Screenshot

eyh26e7m

eyh26e7m1#

尝试使用.edgesIgnoringSafeArea

var body: some View {
    VStack {
        CameraView()
    }
    .edgesIgnoringSafeArea(.top) // Ignore the top safe area
    // ...
}
ktecyv1j

ktecyv1j2#

试试这个,这个能行
let previewLayer = AVCaptureVideoPreviewLayer()
previewLayer.videoGravity = .resizeAspectFill

相关问题