回到负号时的 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% 清楚这个问题,但您应该在每次更改滑块时以及在创建新计时器之前使计时器无效。就目前而言,每次更改滑块时都会创建一个新计时器,因此对切换方法的调用会比预期的多得多。
我有一个 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% 清楚这个问题,但您应该在每次更改滑块时以及在创建新计时器之前使计时器无效。就目前而言,每次更改滑块时都会创建一个新计时器,因此对切换方法的调用会比预期的多得多。