2017-06-21 1 views
-1

ne clignote pas de lumière flash -flash de l'appareil photo ne fonctionne pas de uiimageviewcontroller ios

-(void)_flashToggle 
{ 
if (! [UIImagePickerController isFlashAvailableForCameraDevice:UIImagePickerControllerCameraDeviceRear ]) 
    return; 

if (PickerController.cameraFlashMode == UIImagePickerControllerCameraFlashModeOff) 
    PickerController.cameraFlashMode = UIImagePickerControllerCameraFlashModeOn; 
else 
    PickerController.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff; 
} 

Répondre

0

Vous pouvez facilement changer le mode de la torche de l'appareil en y accédant en utilisant le framework AVFoundation comme:

Swift 3.0

func toggleTorchMode() { 
    if let device = AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeVideo), device.hasTorch { 
     let isTorchSupported = device.isTorchModeSupported(mode) 
     let isTourchAvailable = device.isTorchAvailable 
     if isTorchSupported && isTourchAvailable { 
      do { 
       try device.lockForConfiguration() 
       if device.torchMode == AVCaptureTorchMode.on { 
        device.torchMode = AVCaptureTorchMode.off 
       } 
       else { 
        device.torchMode = AVCaptureTorchMode.on 
       } 
       device.unlockForConfiguration() 
      } catch { 
       Globals.printlnDebug("Error in setting the torch mode") 
      } 
     } 
     else if mode == AVCaptureTorchMode.on{ 

      Globals.showErrorMessage("Torch not available", inViewController: self) 
     } 
    } 
} 

Objective-C

-(void)toggleTorchMode 
{ 
    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; 
    if ((device) && (device.hasTorch) && (device.isTorchAvailable)) { 
     [device lockForConfiguration:nil]; 
     if (device.torchMode == AVCaptureTorchModeOn) { 
      device.torchMode = AVCaptureTorchModeOff; 
     } 
     else { 
      device.torchMode = AVCaptureTorchModeOn; 
     } 
    } 
    else { 
     //ERROR: Device doesn't have tourch 
    } 
} 
+0

mais j'utilise UIImagePickerController je veux mettre en œuvre l'utiliser pas AVFoundation cadre –

+0

et je veux un mode flash non mode torche –

+0

UIImagePickerView ouvre la vue de la caméra par défaut pour capturer et contrôler par défaut pour gérer le flash. –