FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

UITableViewのスクロール中にNSTimerが停まってしまう [Xcode]

開発中のアプリで、UITableViewのテーブルの隣に NSTimerを使って時間を表示しているのですが、テーブルをスクロールすると時間表示が止まってしまうことに気づきました。
スクロールしようとテーブルをタップした瞬間から指を離すまで、時間表示がピッタリ止まってしまいます。

これはテーブルのスクロールと NSTimerが両立されないため、スクロール中は NSTimerが更新されないのが原因です。UITableViewの他に UIScrollViewでも同様だそうです。



これを回避するには、NSRunloopというのを使って NSTimerをオマジナイします。
    // NSTimer設定
NSTimer *timer = [NSTimer timerWithTimeInterval:1.0
target:selfselector:@selector(myTimerAction:) userInfo:nil repeats:YES];

// NSRunLoopのオマジナイ
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

NSRunloopが何者なのか、いまいちわかってないのですが(オイ)、これで無事スクロール中も時間表示ができるようになりました。
関連記事

コメントの投稿

非公開コメント

Appご紹介
K app designのAppをご紹介します

ねこわけ

画面中央の猫を次々に仕分けるゲームです。

あまり計算機

あまりを計算できる割算専用の計算機です。

6オクターブ ピアノ

6オクターブ鍵盤のピアノアプリです。iPad専用。

Dynamic Drum

様々な演奏法が楽しめるドラム演奏アプリです。

クイズボタン

早押しクイズのサポートをするアプリです。

クイズボタン Pro

クイズボタンに点数表示機能が付きました。

クイズボタン HD

クイズボタンのiPad専用版。回答者ボタンが8つに増量。

ベロシティ ピアノ

タップの強弱で音量が変わるピアノアプリです。

TIMERx4

4つのキッチンタイマーを同時に動作できるアプリです。

アナデジClock

アナログとデジタルが融合した時計です。
検索フォーム
最新記事
最新コメント
カテゴリ
人気ページ
月別アーカイブ
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。