Ios 如何使用前置摄像头进行变焦

Ios 如何使用前置摄像头进行变焦,ios,swift,xcode,camera,uigesturerecognizer,Ios,Swift,Xcode,Camera,Uigesturerecognizer,在我的定制相机中,我实现了一个捏手势识别器。然后我为视频添加了一个可以缩放的功能。当我在后摄像头上时,摄像头会缩放,但当我切换到前摄像头时,不允许缩放。这是我的职责 var zoomFactor: CGFloat = 1.0 @objc func pinch(_ pinch: UIPinchGestureRecognizer) { print("123") guard let device = videoCaptureDevice else { return } func

在我的定制相机中,我实现了一个捏手势识别器。然后我为视频添加了一个可以缩放的功能。当我在后摄像头上时,摄像头会缩放,但当我切换到前摄像头时,不允许缩放。这是我的职责

var zoomFactor: CGFloat = 1.0
@objc func pinch(_ pinch: UIPinchGestureRecognizer) {
    print("123")
    guard let device = videoCaptureDevice else { return }
    func minMaxZoom(_ factor: CGFloat) -> CGFloat { return min(max(factor, 1.0), device.activeFormat.videoMaxZoomFactor) }

    func update(scale factor: CGFloat) {
        do {
            try device.lockForConfiguration()
            defer { device.unlockForConfiguration() }
            device.videoZoomFactor = factor
        } catch {
            debugPrint(error)
        }
    }

    let newScaleFactor = minMaxZoom(pinch.scale * zoomFactor)

    switch pinch.state {
    case .began: fallthrough
    case .changed: update(scale: newScaleFactor)
    case .ended:
        zoomFactor = minMaxZoom(newScaleFactor)
        update(scale: zoomFactor)
    default: break
    }
}