Фонарик выключен по умолчанию

У меня есть некоторый код, идущий с кнопкой фонарика, который можно включать и выключать, но он начинает работать по умолчанию, чего, конечно, не предполагается. Ребята, у вас есть идеи, как это легко изменить?

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;
Другие вопросы по тегам