Фонарик выключен по умолчанию
У меня есть некоторый код, идущий с кнопкой фонарика, который можно включать и выключать, но он начинает работать по умолчанию, чего, конечно, не предполагается. Ребята, у вас есть идеи, как это легко изменить?
if (!FrontCamera) {
if ([backCamera hasFlash]){
[backCamera lockForConfiguration:nil];
if (self.flashToggleButton.selected)
[backCamera setFlashMode:AVCaptureFlashModeOn];
else
[backCamera setFlashMode:AVCaptureFlashModeOff];
[backCamera unlockForConfiguration];
self.flashToggleButton.selected = NO;
}
else{
if ([backCamera isFlashModeSupported:AVCaptureFlashModeOff]) {
[backCamera lockForConfiguration:nil];
[backCamera setFlashMode:AVCaptureFlashModeOff];
[backCamera unlockForConfiguration];
}
[self.flashToggleButton setEnabled:NO];
}
NSError *error = nil;
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:backCamera error:&error];
if (!input) {
NSLog(@"ERROR: trying to open camera: %@", error);
}
[session addInput:input];
}
if (FrontCamera) {
[self.flashToggleButton setEnabled:NO];
NSError *error = nil;
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:frontCamera error:&error];
if (!input) {
NSLog(@"ERROR: trying to open camera: %@", error);
}
[session addInput:input];
}
1 ответ
Решение
Вы используете selected
состояние кнопки? Если это так, попробуйте:
self.flashToggleButton.selected = NO;