I have iPhone application which overlays the camera with custom view. I have a button to switch between camera flash mode, this is the code
switch ([self.imagePi
The answer above did't worked for me in iOS 7.1 @daidai this is what i did and this worked for me
In your .h-file the property flashMode
- (void)didTapFlash:(id)sender
{
if (self.flashMode == UIImagePickerControllerCameraFlashModeAuto) {
//toggle your button to "on"
[self.imagePicker setCameraFlashMode:UIImagePickerControllerCameraFlashModeOn];
[self.flashButton setImage:[UIImage imageNamed:@"flashOn"] forState:UIControlStateNormal];
self.flashMode = UIImagePickerControllerCameraFlashModeOn;
NSLog(@"On state: %d", self.flashMode);
}else if (self.flashMode == UIImagePickerControllerCameraFlashModeOn){
//toggle your button to "Off"
[self.imagePicker setCameraFlashMode:UIImagePickerControllerCameraFlashModeOff];
[self.flashButton setImage:[UIImage imageNamed:@"flashOf"] forState:UIControlStateNormal];
self.flashMode = UIImagePickerControllerCameraFlashModeOff;
NSLog(@"Of state: %d", self.flashMode);
}else if (self.flashMode == UIImagePickerControllerCameraFlashModeOff){
//toggle your button to "Auto"
[self.imagePicker setCameraFlashMode:UIImagePickerControllerCameraFlashModeAuto];
[self.flashButton setImage:[UIImage imageNamed:@"flashAuto"] forState:UIControlStateNormal];
self.flashMode = UIImagePickerControllerCameraFlashModeAuto;
NSLog(@"Auto state: %d", self.flashMode);
}
}