我正在爲我的UIImagePickerViewController
創建自定義控件。我將默認閃光燈設置設置爲.off
,我想在開啓和關閉之間切換。iOS 10:UIImagePickerViewController無法設置Flash模式
但是我很難讓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
上的閃光模式。
我不知道爲什麼這不起作用,我找不到任何其他方式來設置Flash模式,而不是我正在做的事情。
您是否檢查過您的代碼實際執行? 'mediaPicker'是否包含正確的值? – jcaron