私はObjectiveCで作業しています。UIViewControllerにプッシュする約25個のセルを持つUITableViewControllerがあります。ユーザーが反撃したときに、ユーザーが特定のセルに正しいデータを入力したかどうかを確認したいと思います。(私にはブール値がありますisCellComplete
。今はそれを呼び出します)。isCellCompleteがtrueの場合、セルのアクセサリとしてチェックマークを追加します。テストを入れようとしましたcellForRowAtIndexPath
が、ビューが表示されるたびにそのメソッドが実行されてセルが更新されないようです。誰か提案がありますか?
質問する
121 次
2 に答える
1
UITableView
メソッドを調べる必要がありますreloadRowsAtIndexPaths:withRowAnimation:
。これは、テーブルビュー全体をリロードするよりもはるかにエレガントです。また、アニメーションが必要ない場合は、指定することができます。アニメーションはUITableViewRowAnimationNone
同じように見えますreloadData
が、はるかに効率的です。
チェックインを実行し、チェックにtableView:cellForRowAtIndexPath:
合格した場合は、セルのアクセサリをに設定する必要がありUITableViewCellAccessoryCheckmark
ます。次に、テーブルビューに適切な行を再読み込みするように指示するとtableView:cellForRowAtIndexPath:
、データソースが自動的に呼び出され、そのセルが更新されます。
于 2012-07-17T21:52:18.947 に答える
0
あなたはただ呼び出すことができます
[self.tableView reloadData];
の
-(void) viewWillAppear:(BOOL)animated
そしてcellForRowAtIndexPath
、ビューが表示されたときに再び呼び出されます
于 2012-07-17T19:53:48.097 に答える