1

我在 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];
       }];

   }

}

有谁知道是什么以及为什么导致视图消失?非常感谢。

再见,菲利普

4

0 回答 0