iOS 7.1 imagePicker CameraFlashMode未指示ON / OFF状态

时间:2014-05-29 05:28:20

标签: objective-c xcode ios5 ios7.1

iOS 7.1 imagePicker CameraFlashMode未指示ON / OFF状态 我有iPhone应用程序覆盖相机与自定义视图。我有一个按钮在相机闪光模式之间切换,这是代码。 self.imagePickerController.cameraFlashMode始终显示自动模式。

 if ( self.imagePickerController.cameraFlashMode == UIImagePickerControllerCameraFlashModeOn) {
    self.imagePickerController.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff;

    [self.flashButton setImage:[UIImage imageNamed:@"flashoff.png"] forState:UIControlStateNormal];
    self.flashButton.selected = NO;
}
else
{
    self.imagePickerController.cameraFlashMode = UIImagePickerControllerCameraFlashModeOn;

    [self.flashButton setImage:[UIImage imageNamed:@"flash.png"] forState:UIControlStateNormal];

    self.flashButton.selected = YES;
}
NSLog(@"cameraFlashMode: %d",self.imagePickerController.cameraFlashMode);
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInteger:self.imagePickerController.cameraFlashMode] forKey:@"cameraFlashMode"];

1 个答案:

答案 0 :(得分:0)

当你这样做时:

self.imagePickerController = [[UIImagePickerController alloc] init];
[self.imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera];
[self.imagePickerController setCameraCaptureMode:UIImagePickerControllerCameraCaptureModePhoto];
//...

(在您的特定情况下)明确提到:

[imagePickerController setCameraFlashMode:UIImagePickerControllerCameraFlashModeOn];

如果不这样,则相机默认为UIImagePickerControllerCameraFlashModeAuto
并且由于您实现的逻辑不处理这种情况,它仍然在UIImagePickerControllerCameraFlashModeAuto