1

iOS バージョン 10 以降では、カメラのフラッシュを正しく設定できません (これは iOS 9 で正しく機能しています)。デフォルトは常に UIImagePickerControllerCameraFlashModeAuto です。

これが私のコードです:

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
[picker setAllowsEditing:NO];
[picker setDelegate:self];
[picker setSourceType:UIImagePickerControllerSourceTypeCamera];
[picker setCameraFlashMode:UIImagePickerControllerCameraFlashModeOn];
[picker setCameraOverlayView:overlayView];
[self presentViewController:picker animated:YES completion:Nil];
4

1 に答える 1

2

UIImagePickerController がレンダリングされるのを待って、カメラのフラッシュを再度設定する必要があると思います。

だから私は更新しました

[self presentViewController:picker animated:YES completion:nil];

[self presentViewController:picker animated:YES completion:^{
    //For iOS 10 and higher versions so it can set the proper flashmode
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10) {
       [picker setCameraFlashMode:UIImagePickerControllerCameraFlashModeOn];
    }
}];

これが役立つことを願っています。

于 2016-10-28T19:55:42.490 に答える