0

我正在为我的UIImagePickerViewController. 我将默认闪光灯设置设置为.off,我想在打开和关闭之间切换。

但是我在UIImagePickerControllerCameraFlashMode从打开切换到关闭时遇到了很多麻烦。这看起来应该是一件很容易设置的事情。但我一直在尝试,我无法得到以下改变闪光模式,它只是停留在.off模式。

func didTapFlashButton() -> Bool {
    if let picker = mediaPicker {
        if picker.cameraFlashMode == .on || picker.cameraFlashMode == .auto {
            picker.cameraFlashMode = UIImagePickerControllerCameraFlashMode.off
            return false
        }
        else {
            picker.cameraFlashMode = UIImagePickerControllerCameraFlashMode.on
            return true
        }
    }
    return false
}

为什么这不更新我的闪存模式UIImagePickerController


编辑(回答评论)

是的,我检查了代码是否执行并且它总是执行else块以将其设置为.on. 所以UIImagePickerController正确确认我设置的默认闪存模式是.false(通过打印语句验证)。

但是,每当我点击按钮将闪光灯模式更改.on为闪光灯时,都无法正常工作。这意味着它从未更新过UIImagePickerController.

我不知道为什么这不起作用,除了我正在做的事情之外,我找不到任何其他方法来设置闪光模式。

4

1 回答 1

0

这个真的让我觉得有点傻。发布此问题后不久,我意识到我正在测试的设备没有闪存功能。如果您使用闪光灯模式,您应该首先询问UIImagePickerController班级设备是否能够使用闪光灯。文档

于 2017-05-07T20:06:46.427 回答