2

NSTimerはしばらく一時停止しており、UIGestureアクションが実行されたときに再び開始されます。

私はiOSアプリケーションを開発しており、0.5秒ごとにNSTimerを繰り返しトリガーする必要があり、そのタイマーに基づいて曲のプログレスバーを動かしています。また、同じビューで保持しているいくつかの画像にユーザーがタッチしたときのタッチイベントの処理も行います。ユーザーが画像に触れると、プログレスバーを移動するためのタイマーが少し停止し、再び続行します。

同じビューでタイマーとタッチイベントを同時に処理できないという問題はありますか?

タイマーのコード

myTimer = [NSTimer scheduledTimerWithTimeInterval:timeinterval target:self selector:@selector(updatplayer:) userInfo:nil repeats:YES];
    [[NSRunLoop mainRunLoop] addTimer:myTimer forMode:NSRunLoopCommonModes];
4

1 に答える 1

1

これはNSTimerの一般的な問題です。実行ループモードで遊んで改善することもできますが、より良い解決策はGCDタイマーに切り替えることです。例については、 RNTimerを参照してください。詳細については、 dispatch_source_createのドキュメントを参照してください。

于 2012-06-02T12:10:36.607 に答える