1

iOSのGoogleマップに問題があります。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