コードを ViewController から UIView サブクラスに移動しました。ビュー階層は同じままでした (文字通り、コードを ViewController からサブクラスに移動し、TableView をストーリーボードのサブクラスに再接続するだけでした)。
UITableViewCells の背景色が表示されなくなりました。私はこれをやっています:
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if ([tableView isEqual:self.prizeTable]) {
if (indexPath.section == 0) {
if (indexPath.row % 2 == 0) {
[cell setBackgroundColor:[LCAppDelegate colorFromHexString:PayoutTableRow2BGColor]];
} else {
[cell setBackgroundColor:[LCAppDelegate colorFromHexString:PayoutTableRow1BGColor]];
}
}
}
}
このコードは呼び出されていますが、どういうわけか cellForRowAtIndexPath が呼び出されるまでに色が null になっています。cellForRowAtIndexPath 内で色を再度設定しても機能しません。
奇妙なことに、テーブルをスクロールすると、非表示の行と表示されている行に色が表示されます。