0

UITableView私はいくつかの行を含む単純なものを持っています。すべての行には、 で表されるカウントダウン タイマーが含まれていUITextLabelます。行が選択されると、カウントダウンが開始されます。カウントダウン発射日は によって設定されlocalNotificationます。に発火時刻が表示されUITextLabelます。

テーブルの更新は、viewWillApperメソッドで次の行から始まります。

[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(refreshTable) userInfo:nil repeats:YES];

refreshTableメソッドには次の 1 行が含まれます。

[tableView reloadData]

tableViewすべてが期待どおりに機能していますが、 (指を離さずに)スクロールを開始すると、カウントダウン タイマーが更新されません。

refreshTableテーブルをスクロールしたときにこのメソッドが呼び出されるかどうかを確認するために、メソッド内にログを設定しました。結果は陰性でした。どういうわけかrefreshTable、スクロールするとメソッドが呼び出されませんtableView

この問題を解決する方法を誰か教えてもらえますか?

デフォルトの時計アプリ(アップル製)を確認しました。最初のタブ (世界時計) では、テーブル ビューで表されます。すべての列の中に赤い針の時計があります。テーブルをスクロールしている間、手は更新されています。つまり、スクロール中にテーブルビューを更新することが可能です...どういうわけか

前もって感謝します

4

1 に答える 1

1

ご覧のとおり、UITableView クラスには UIScrollView が含まれています。UIScrollViewDelegateページを強制的にリロードするために使用できます。ドキュメントは次のとおりです:リンク。見る– scrollViewDidScroll:

スクロールが見つかるまで、テーブルのサブビューを繰り返します。あなたがいくつかのコードを投稿すれば、おそらく私はもっと助けることができます

于 2012-09-21T21:37:07.960 に答える