Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从uiimageviewcontroller ios看,照相机闪光灯不工作_Ios_Uiimagepickercontroller - Fatal编程技术网

从uiimageviewcontroller ios看,照相机闪光灯不工作

从uiimageviewcontroller ios看,照相机闪光灯不工作,ios,uiimagepickercontroller,Ios,Uiimagepickercontroller,不闪烁任何闪光灯- -(void)_flashToggle { if (! [UIImagePickerController isFlashAvailableForCameraDevice:UIImagePickerControllerCameraDeviceRear ]) return; if (PickerController.cameraFlashMode == UIImagePickerControllerCameraFlashModeOff) PickerContro

不闪烁任何闪光灯-

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

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

通过使用
AVFoundation
框架访问设备,您可以轻松更改设备火炬模式,如:

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)
        }
    }
}
目标-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
    }
}

但我使用的是uiimagepickercontroller,我想用它来实现,而不是AVFoundation Framework,我想要的是flash模式而不是torch模式UIImagePickerView打开要捕获的默认相机视图,它具有管理闪光灯的默认控件。