我有一个跟踪你的速度和高度的应用程序。它是如何工作的当你按下一个开始按钮它开始跟踪你,当你按下停止它停止,当你按下复位它清除一切,开始按钮回来。我是如何做到这一点的是我有一个显示速度的隐藏标签,当你按下按钮时它没有被隐藏,当你按下停止它再次被隐藏时我又做了另一个标签说它说的最后一件事。我还有一个最大速度标签,显示您达到的最高速度。我用漂浮物做了这个。对于最大速度标签,我发生同样的事情,当您按下重置时,最大速度标签所说的最后一个标签清除标签,然后按下开始时最大速度标签返回。我遇到的问题是最大速度标签本身不会重置。当我再次按下开始时,最大速度标签仍会显示最后一次。那么当按下按钮重置时,如何重置最大速度标签浮动?
修改
这是我用过的代码......
重置标签......
maxspeedlabel.text = @"0.00";
for float ...
- (void)locationUpdate:(CLLocation *)location {
speedLabel.text = [NSString stringWithFormat:@"%.2f", [location speed]*2.236936284];
altitudeLabel.text = [NSString stringWithFormat:@"%.2f", [location altitude]*3.2808399];
latitudeLabel.text = [NSString stringWithFormat:@"Lat: %f", location.coordinate.latitude];
longitudeLabel.text = [NSString stringWithFormat:@"Long: %f", location.coordinate.longitude];
errorlabel.text = @" ";
float currentSpeed = [location speed]*2.236936284;
if(currentSpeed - maxSpeed >= 0.01){
maxSpeed = currentSpeed;
maxspeedlabel.text = [NSString stringWithFormat: @"%.2f", maxSpeed];
}
float currentAltitude = [location altitude]*3.2808399;
if(currentAltitude - maxAltitude >= 0){
maxAltitude = currentAltitude;
maxaltitudelabel.text = [NSString stringWithFormat: @"%.2f", maxAltitude];
}
}
由于
答案 0 :(得分:0)
每次按下开始时,请添加maxspeedlabel.text = @"";
以清除标签,然后在需要时使用新标签进行更新。
答案 1 :(得分:0)
currentSpeed - maxSpeed >= 0.01
为什么这个比较?你不应该使用
if(currentSpeed=>maxSpeed)
我相信
maxSpeed = currentSpeed;
maxspeedlabel.text = [NSString stringWithFormat: @"%.2f", maxSpeed];
错了,我认为应该是
currentSpeed = maxSpeed;
maxspeedlabel.text = [NSString stringWithFormat:@"%.2f", maxSpeed];
否则你将设置更高的maxSpeed ,这可能是不正确的。
错误可能在 currentSpeed计算中,您是否检查过它是否进入if语句?
答案 2 :(得分:0)
我明白了。当我点击按钮时,我不得不将浮动设置为0 ...
maxSpeed = 0;