iOS 7.1 imagePicker CameraFlashMode not indicating Flash state

前端 未结 4 2271
隐瞒了意图╮
隐瞒了意图╮ 2021-02-19 20:36

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         


        
4条回答
  •  悲哀的现实
    2021-02-19 21:17

    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);
        }
    }
    

提交回复
热议问题