在AVCapture会话之上添加视图

时间:2018-12-28 20:04:37

标签: ios swift layer avcapturesession

我正在尝试在AVCapturesession预览层顶部添加一个按钮。该按钮用于捕获图像(启用捕获功能)。但是我似乎无法进行设置。

func configureCaptureSession() {


    captureSession.sessionPreset = AVCaptureSession.Preset.photo

    let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInDualCamera], mediaType: AVMediaType.video, position: .unspecified)

    for device in deviceDiscoverySession.devices {
        if device.position == .back {
            rearCam = device
        } else if device.position == .front {
            frontCam = device
        }
    }
currentDevice = rearCam
    guard let captureDeviceInput = try? AVCaptureDeviceInput(device: currentDevice) else {
        return
    }
   // wheelOverlay.image = UIImage(named: "wheel")
  //  wheelOverlayLayer.contents = wheelOverlay
    stillPhotoOutput = AVCapturePhotoOutput()

    captureSession.addInput(captureDeviceInput)

    captureSession.addOutput(stillPhotoOutput)


    cameraPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession)

    cameraPreviewLayer?.videoGravity = AVLayerVideoGravity.resizeAspectFill
    cameraPreviewLayer?.frame = view.layer.frame
    print("Capture session setup")
   // view.layer.addSublayer(wheelOverlayLayer)
   // view.layer.insertSublayer(wheelOverlayLayer, above: cameraPreviewLayer)
    captureSession.startRunning()


}

我需要在哪里添加子视图?

1 个答案:

答案 0 :(得分:1)

像这样添加cameraLayer后,需要将其添加到视图中

view.layer.addSublayer(cameraPreviewLayer) 
let bt = UIButton(type:.system) 
bt.setTitle("Record",for:.normal)
bt.frame = /////
view.addSubview(bt)