1

UISWitchデフォルトの位置を次のように設定していますoff

スイッチはオプションでonユーザーによって設定されています。別のボタン/アクションからそのスイッチをオフに戻すにはどうすればよいですか。

- (IBAction)switchToggled:(id)sender {

if (_toggle.on){


  AVCaptureDevice *backCamera = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ( [backCamera isTorchAvailable] && [backCamera isTorchModeSupported:AVCaptureTorchModeOn]  )
{
    BOOL success = [backCamera lockForConfiguration:nil];
    if ( success )
    {
        [backCamera setTorchMode:AVCaptureTorchModeOn];
        [backCamera unlockForConfiguration];
      }
    }
}

else {

    AVCaptureDevice *backCamera = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    if ( [backCamera isTorchAvailable] && [backCamera isTorchModeSupported:AVCaptureTorchModeOn]  )
    {
        BOOL success = [backCamera lockForConfiguration:nil];
        if ( success )
        {
            [backCamera setTorchMode:AVCaptureTorchModeOff];
            [backCamera unlockForConfiguration];
        }
    }

}

UI ボタン​​からスイッチの状態をリセットします。

  - (IBAction)toggledOffSwitch:(id)sender {
     _toggle.on = NO; 
    }         

また

  - (IBAction)toggledOffSwitch:(id)sender {
  [_toggle setOn:NO];
  [_toggle setEnabled: NO];
   _torch.enabled = NO;
   _torch.on = NO;

  }

やってないようです

より多くのコードで更新

4

3 に答える 3

0

わかりました、これを考え出しました

 - (IBAction)toggledOffSwitch:(id)sender {


AVCaptureDevice *backCamera = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ( [backCamera isTorchAvailable] && [backCamera isTorchModeSupported:AVCaptureTorchModeOn]  )
{
    BOOL success = [backCamera lockForConfiguration:nil];
    if ( success )
    {
        [backCamera setTorchMode:AVCaptureTorchModeOff];
        [backCamera unlockForConfiguration];

        _torch.on = NO;
    }

    }

}
于 2013-04-06T15:23:51.777 に答える