我有一个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];
}
}
答案 0 :(得分:1)
我不是100%清楚这个问题,但是每次更改滑块时,以及创建新计时器之前,您应该使计时器无效。按照目前的情况,每次更改滑块时,您都会创建一个新的计时器,这样您就可以获得比预期更多的切换方法调用。