3

私は iOS 開発の初心者です。ストップウォッチの開始ボタンを押すと、カウンター トークン効果のようなタイマーを表示したいです。参照用に画像を添付しました。秒と分を表示するようにしましたが、自動スクロール効果をアニメートする方法がわかりません。 ? これどうやってするの?

カウンターが動いているとき、ある数字から別の数字にジャンプするのではなく、ガソリン ポンプ メーターのように、ある数字から次の数字にスムーズに移動する必要があります。ありがとう デフォルト状態

開始 1

ここに画像の説明を入力

ここに画像の説明を入力

4

5 に答える 5

1

scrollToRowAtIndexPathこのアニメーションは独自のタイマー間隔を使用しており、その時間間隔を変更するのが非常に難しい、または不可能と言えるため、代わりに tableView を手動でスクロールする必要があり ます。

そこで、このような問題を解決する API を実装し、スムーズにスクロールできるデモ アプリを作成しました。

tableRow の高さが 30 であるため、1 秒ごとに起動する外部タイマーと 0.03 秒ごとに起動する内部タイマーを使用する必要があります。内部タイマーの間隔を次のように計算しました:---

1 秒間 30 ピクセル移動し、内部タイマー内で 0.33 秒間 1 ピクセル移動します。

内部タイマーは無効化され、外部タイマー内で初期化されるため、1 秒ごとに起動します。

そして、内部タイマーがセルの移動を行います。

dial4 は tableView です

私のコードを見てください。

#define rowHeight 30

-(void)startCounter
{
    outertimer=[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(snapCell) userInfo:nil repeats:YES];
}

-(void)stopCounter
{
    [outertimer invalidate];
}

-(void)snapCell
{
    NSLog(@"Initialize Internal timer %i",secLsb);
    secLsb++;

    if (secLsb==10) {
        [dial4 setContentOffset:CGPointMake(0, 0) animated:NO];
        secLsb=0;
         NSLog(@"dial content offset y is %f",dial4.contentOffset.y);
    }

    [internaltimer invalidate];
    internaltimer=[NSTimer scheduledTimerWithTimeInterval:0.03
                                     target:self
                                   selector:@selector(automaticScroll)
                                   userInfo:nil
                                    repeats:YES];
}

-(void)automaticScroll
{
    NSLog(@"val is & y ======== %f",dial4.contentOffset.y);

    [dial4 setContentOffset:CGPointMake(dial4.contentOffset.x,dial4.contentOffset.y+1) animated:NO];
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return rowHeight;
}

タイムカウンターを見てみよう

于 2013-07-05T12:10:03.247 に答える
0

画像から、カウントダウン タイマーのような効果を得ようとしていると推測できます。ここでカウントダウンタイマーを見てください。それは何らかの形であなたを助けるかもしれません。

プログラミングを楽しもう!!

于 2013-07-01T09:09:37.707 に答える
0

出力については、両方のリンクを参照してください。それはあなたを助けます

UIPickerView は UIDatePicker のように見えますが、秒単位で表示されます

選択した値の後に UIPickerView にラベルを表示するにはどうすればよいですか?

ありがとう。

于 2013-07-05T09:12:49.277 に答える