我在 ios 中遇到了谷歌地图的问题。我有一个带有 MapView 的屏幕,我正在绘制一些注释(街道上显示区域的多边形)。如果有人点击该区域,则会显示一个按钮,用户可以按下它来开始交易。他必须按住按钮 2 秒,此时会显示一个带有进度条的小视图,以指示用户必须按住它直到结束。这工作正常。但是有时在播放后会出现以下问题:
带有进度条的视图会显示,但在到达结尾之前消失。如果下次尝试一切顺利。这是重要的代码,我认为:
- (IBAction)starButtonTouched:(id)sender {
self.progressLabel.text = [NSLocalizedString(@"Please hold", nil) uppercaseString];
if (!self.currentVehicle) return;
self.progressBar.hidden = NO;
self.progressBarBackground.hidden = NO;
self.progressBar.progress = 0;
[self performSelector:@selector(_updateProgress) withObject:nil afterDelay:kVTMainButtonPressDuration/kVTMainProgressSteps];
}
- (IBAction)startButtonReleased:(id)sender {
NSLog(@"StartButton released - progress bar will be hidden");
self.progressBar.hidden = YES;
self.progressBarBackground.hidden = YES;
}
- (void) _updateProgress {
if (self.progressBar.hidden) return;
/*
* update progress bar
*/
float actual = [self.progressBar progress];
if (actual < 1) {
self.progressBar.progress += 1.0/kVTMainProgressSteps;
[NSTimer scheduledTimerWithTimeInterval:kVTMainButtonPressDuration/kVTMainProgressSteps target:self
selector:@selector(_updateProgress) userInfo:nil repeats:NO];
/*
* if it has ended start the transaction
*/
} else {
ASLogInfo(@"Starting");
if (!self.currentVehicle) return;
[self.service startParking:self.currentVehicle zone:self.selectedZone callback:^(VTTransaction *transaction) {
[self loadCurrentTransaction];
}];
}
}
有谁知道是什么以及为什么导致视图消失?非常感谢。
再见,菲利普