Определить, когда камера теряет фокус (Swift)

Я создаю полноэкранное приложение для камеры и позволяю пользователю задавать интересующие объекты, нажимая на экран. Однако, когда пользователь перемещает свою камеру, и вид теряет фокус, как я могу сказать? Я хочу переключить устройство focusMode в AVCaptureDevice.FocusMode.continuousAutoFocus Вот как выглядит мой код прямо сейчас.

@objc func handleTap(tap: UITapGestureRecognizer) {
    let location = tap.location(in: view)

    var focusPoint = CGPoint()
    focusPoint.x = location.x / view.frame.width
    focusPoint.y = location.y / view.frame.height

    if let device = currentVideoDevice {
        if try! (currentVideoDevice?.lockForConfiguration()) != nil {
            if device.isFocusPointOfInterestSupported {
                device.focusPointOfInterest = focusPoint
                device.focusMode = AVCaptureDevice.FocusMode.autoFocus
            }
            if device.isExposurePointOfInterestSupported {
                device.exposurePointOfInterest = focusPoint
                device.exposureMode = AVCaptureDevice.ExposureMode.autoExpose
            }
            device.unlockForConfiguration()
        }
    }
}

0 ответов

Другие вопросы по тегам