回到负号时的 Uislider 值

Uislider value when get back to minus

我有一个 UISlider,如果我想将值更改为 + 它工作正常,但是当我返回 - 时,效果不正常。我的应用程序是一个手电筒,我从滑块更改肉体的频率。有什么想法可以帮助我吗?

滑块索引正常。这是我的代码。

 if ([self.lightON.currentImage isEqual:[UIImage imageNamed:@"off-1.png"]]) {



         if (slider.value==0) {
               AVCaptureDevice * captDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
                      [captDevice lockForConfiguration:nil];
                      [captDevice setTorchMode:AVCaptureTorchModeOn];
                      [captDevice unlockForConfiguration];
           }

            if (slider.value==1){
                   myTimer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self                    selector:@selector(toggleFlashlight) userInfo:nil repeats:YES];
    }
           if (slider.value==2) {
                 myTimer = [NSTimer scheduledTimerWithTimeInterval:0.2 target:self                    selector:@selector(toggleFlashlight) userInfo:nil repeats:YES];
           }
           if (slider.value==3) {
               myTimer = [NSTimer scheduledTimerWithTimeInterval:0.05 target:self                    selector:@selector(toggleFlashlight) userInfo:nil repeats:YES];
           }
           if (slider.value==4) {
                myTimer = [NSTimer scheduledTimerWithTimeInterval:0.02 target:self                    selector:@selector(toggleFlashlight) userInfo:nil repeats:YES];

           }
           if (slider.value==5) {
               myTimer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self                    selector:@selector(toggleFlashlight) userInfo:nil repeats:YES];

           }
       }

我不是 100% 清楚这个问题,但您应该在每次更改滑块时以及在创建新计时器之前使计时器无效。就目前而言,每次更改滑块时都会创建一个新计时器,因此对切换方法的调用会比预期的多得多。