2010-12-30 14 views
0

私はセルのカスタム背景画像を持つUITableViewを持っています。テーブルにあるセルの場所に応じて4つの画像があります。最初の行、真ん中の行、最後の行、および唯一の行に1つがあります。私は基本的にここでチュートリアルに従いました:http://cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.htmlUITableViewCell背景画像パス

新しいセルがテーブルに追加されると、私の問題が発生します。他のセルは、新しい行位置を反映するように更新されません。

いつこれらのセルを更新する必要がありますか? ViewWillAppear?それともこのメソッドを追加する必要がありますか?

controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type 

今の背景画像の割り当てはconfigureCellで起こる:私はcellForRowAtIndexPathで呼んでいるatIndexPath機能を:

答えて

0

、多くの細胞が存在しない場合、あなたは、単に上reloadDataメソッドを呼び出すことができますUITableView

しかし、より効率的なアプローチは、 UITableViewメソッドのようなものを使用して、必要な行だけをリロードすることです。 (NSIndexPathのリファレンスを参照して、テーブルへのマッピング方法を調べることをお勧めします)

+0

ちょうど更新された行の前に行を取得するにはどうすればよいですか?fetchedResultsControllerを使用しているので(NSFetchedResultsController *)コントローラdidChangeObject:(id)anInstxPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)タイプnewIndexPath: –

+0

このメソッドの挿入時には、 "[indexPath row] - 1"になります。 –