我有一个定时器设置,可以触发和读取 iPhone 麦克风输入电平。我有一些 if 语句说明传入的卷是否为“this”,然后将视图背景颜色更改为“this”。
一切正常,但仪表自然会连续 0、1、2、3、4、5,然后以 5、4、3、2、1、0 的相反顺序返回。但是我不希望这种情况发生。当音量试图回落时,我想一直跳回“0”。
所以我所做的是创建两个变量。一个称为“previousValue”,另一个称为“currentValue”,以跟踪它们在我所处的连续级别中的位置 - 然后是最后一个 if 语句,表示如果 previousValue > currentValue(下降)然后跳回“0”。但是,它只是行不通。也许我在这里做错了什么?
一点帮助将不胜感激!谢谢!这是代码,因此您可以更好地了解我想要实现的目标。
我在实现 int previousValue 下面声明了 INT 值;整数当前值;
然后在viewDidLoad中设置一个起点previousValue = 0; 当前值 = 0;
if (meterResults > 0.0) {
NSLog(@"0");
self.view.backgroundColor = [UIColor redColor];
previousValue = currentValue;
currentValue = 0;
}
if (meterResults > 0.1){
NSLog(@"1");
self.view.backgroundColor = [UIColor yellowColor];
previousValue = currentValue;
currentValue = 1;
}
if (meterResults > 0.2){
NSLog(@"2");
self.view.backgroundColor = [UIColor blueColor];
previousValue = currentValue;
currentValue = 2;
}
if (meterResults > 0.3){
NSLog(@"3");
self.view.backgroundColor = [UIColor greenColor];
previousValue = currentValue;
currentValue = 3;
}
if (meterResults > 0.4){
NSLog(@"4");
self.view.backgroundColor = [UIColor purpleColor];
previousValue = currentValue;
currentValue = 4;
}
if (previousValue > currentValue) {
NSLog(@"Hello, don't go in reverse order go straight to Red");
self.view.backgroundColor = [UIColor redColor];
}