gpt4 book ai didi

ios - 相机预览层使按钮不可见

转载 作者:行者123 更新时间:2023-11-28 06:15:05 25 4
gpt4 key购买 nike

我试图在相机预览上添加一个按钮,但当我运行程序时它没有显示(我有限制)。我查看了代码并尝试调试,但我是 swift 和 Xcode 的新手,而且我是一般调试的新手。我看到当我注释掉相机预览层时,按钮出现了。谢谢!

import UIKit
import AVFoundation
import QuartzCore

class View1: UIViewController , AVCaptureVideoDataOutputSampleBufferDelegate{

let captureSession = AVCaptureSession()
var previewLayer:CALayer!
var captureDevice:AVCaptureDevice!

@IBOutlet weak var cameraView:UIView!

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
prepareCamera()
}

func prepareCamera() {
captureSession.sessionPreset = AVCaptureSessionPreset1920x1080

if let availableDevices = AVCaptureDeviceDiscoverySession(deviceTypes: [.builtInWideAngleCamera], mediaType: AVMediaTypeVideo, position: .back).devices {

captureDevice = availableDevices.first
beginSession()
}
}

func beginSession() {
do {
let captureDeviceInput = try AVCaptureDeviceInput(device: captureDevice)
captureSession.addInput(captureDeviceInput)
} catch {
print(error.localizedDescription)
//Figure out what to do here
}
if let previewLayer = AVCaptureVideoPreviewLayer(session: captureSession) {



self.previewLayer = previewLayer
self.view.layer.addSublayer(self.previewLayer)
self.previewLayer.frame = self.view.layer.frame
captureSession.startRunning()

let dataOutput = AVCaptureVideoDataOutput()
dataOutput.videoSettings = [(kCVPixelBufferPixelFormatTypeKey as NSString): NSNumber(value: kCVPixelFormatType_32BGRA)]

dataOutput.alwaysDiscardsLateVideoFrames = true

if captureSession.canAddOutput(dataOutput){

captureSession.addOutput(dataOutput)
captureSession.commitConfiguration()
}

let queue = DispatchQueue(label: "com.PhotoAllergy.captureQueue")
dataOutput.setSampleBufferDelegate(self, queue: queue)
}
}

最佳答案

也许您可以尝试将按钮的 zPosition 设置为 1 或更高。 YourButtonName.layer.zPostion = 2

Apple Documentation on ZPosition

关于ios - 相机预览层使按钮不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45393951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com