Je travaille sur la création de contrôles personnalisés pour mon UIImagePickerViewController
. J'ai le réglage par défaut du flash réglé à .off
et je veux basculer entre activé et désactivé.iOS 10: UIImagePickerViewController ne peut pas définir le mode Flash
Mais j'ai beaucoup de mal à faire basculer le UIImagePickerControllerCameraFlashMode
de marche à arrêt. Cela devrait apparemment être une chose très facile à définir. Mais j'ai essayé et je ne peux pas obtenir ce qui suit pour changer le mode de flash, il reste juste dans le mode .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
}
Pourquoi est-ce pas mettre à jour le mode flash sur mon UIImagePickerController
?
EDIT (réponse à un commentaire)
Oui J'ai vérifié si le code est exécuté et il exécute toujours le bloc else
pour le mettre à .on
. Par conséquent, le UIImagePickerController
reconnaît correctement que le mode de flash par défaut que j'ai défini est .false
(vérifié via une instruction d'impression). Mais, chaque fois que j'appuie sur le bouton pour changer le mode flash en .on
, le flash ne fonctionne jamais. Cela signifie qu'il n'a jamais mis à jour le mode flash sur le UIImagePickerController
. Je ne sais pas pourquoi cela ne fonctionne pas et je ne trouve pas d'autre moyen de régler le mode de flash autre que ce que je suis en train de faire.
Avez-vous vérifié que votre code est réellement exécuté? Est-ce que 'mediaPicker' contient la bonne valeur? – jcaron