私はVCに実装UITableViewDelegate
しています。UITableViewDataSource
私はこのコードを持っています:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:
(NSIndexPath *) indexPath {
// do stuff
if(condition){
cell.textLabel.backgroundColor = [UIColor redColor];
}
else {
cell.textLabel.backgroundColor = [UIColor blackColor];
}
}
かなり標準的なもの。私が直面している問題は、表示されているセルの最初のセットに色がないことです。表示されていないセルまでスクロールすると、正しく色付けされたセルが表示されます。スクロールして戻ると、セルに色が付いています。
セルが必要に応じて「作成」および「破棄」されることを理解しています。これにより、その一部が説明されます。cellForRowAtIndexPath
何かが表示される前に起動され、色付け条件がヒットされる理由がわかりません...無着色。
回避策はreloadData
、テーブル ビューを呼び出した後に表示されているセルを反復処理することです。もっと簡単な方法があることを願っています。
デーン