iOS 10:UIImagePickerViewController 无法设置 Flash 模式



我正在努力为我的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上的闪光模式。

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

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

相关内容

  • 没有找到相关文章

最新更新