私は96スロットのスライダーを持っており、60秒間に0から95までスライダーを段階的に移動する必要があります。インターバル(60/96)と96リピートのNSTimerを使うべきでしょうか?それとももっと良い解決法がありますか?特定の時間にスライダーを動かす
1
A
答えて
1
これはおそらく最適なアプローチです。 NSTimer
は、その間隔でかなり一貫して動作する必要があります.1/10秒ごとまたはそれより速く呼び出すと、信頼性が低下し始めます。しかし
、あなたが望んだだろうと、それは非常に動作しない場合は、説明のビット:
NSTimer
は、それがダニだ持っていないので、それは完璧ではありませんイベント文字通りすべてのインターバル。むしろ、NSTimer
は、そのスレッドの実行ループを慈悲にしています。間隔が終了してからしばらくすると、@selector
メソッドを呼び出すことができません。それから、ロック・ステップでもない画面更新を呼び出すことと組み合わせてください。
精度は主に実行ループで何をしているかによって決まります。デバイスの小さな脳にあまり進んでいない場合は、希望通りにスライダが動いているように見えます。
編集:NSTimerの間隔を長くし、UIViewのanimateWithDuration ...メソッドを使用して滑らかに見えるようにすることもできます。
1
aTimer = [NSTimer timerWithTimeInterval:(1.0) target:self selector:@selector(timerFired:) userInfo:nil repeats:YES];
NSRunLoop *runner = [NSRunLoop currentRunLoop];
[runner addTimer:aTimer forMode: NSDefaultRunLoopMode];
- (void)timerFired:(NSTimer*)theTimer {
slider.maximumValue=totaltime;
if(slider.value ==totaltime)
{
[theTimer invalidate];
//terminate the loop
}
else
{
slider.value=slider.value+1;
}
}
//timer runs continuously run if condition is true
関連する問題
- 1. 特定の時間にカウントダウンタイマー
- 2. Cronntab時間と特定の時間
- 3. 特定の時刻に起動し、特定の間隔で実行する
- 4. iOSアプリをプログラムして特定の時間に起動する
- 5. 特定の時間を現地時間に変換する
- 6. 特定の期間内に特定の時間内にcurlを呼び出す
- 7. 別のアルファベットで特定の時間に振動するアンドロイドアプリ
- 8. jQueryを特定の日に特定の時間にリダイレクトしますか?
- 9. 特定の単語を表示する特定の時間間隔の後に
- 10. 特定の時間後にリダイレクトする
- 11. 特定の時間から別の時間までのループスルー
- 12. Hubotに特定の時間に話を聞かせますか?
- 13. Rails DateTime特定の時間
- 14. 特定の時間にdivを表示
- 15. 特定の時間にページをリダイレクト
- 16. 特定時間にiOSアプリを自動的に開く
- 17. 特定の時間にビデオを開始し、特定の時間の後にビデオを停止するJavascriptイベントリスナー
- 18. 特定の時間にスライドに進む
- 19. 特定の時間の前後のIフレームを特定する
- 20. 特定の時間音を鳴らす
- 21. WPFの特定の時間にポップアップウィンドウ?
- 22. コードの特定の時間に
- 23. 特定の時間内に特定の回数のタイムアウトが発生する時間を短縮する
- 24. AlarmManagerは特定の時間に起動しません
- 25. EC2インスタンスの起動は、特定の時間帯に制限できますか?
- 26. ジオロケーションを特定するのに最適な時間ですか?
- 27. 勤務時間中に特定の時間にアプリケーションプールをリサイクルするには?
- 28. 特定の時間にPC上のWindowsフォームアプリケーション.exeを起動するには?
- 29. AVPlayer特定の時間でスキップする
- 30. 即時に特定の時間にアドレス帳からプログラムを削除する
NSTimerにはisinValidメソッドがありません。 – Rengers