Ну, это потребует немного больше кода, чем метод, который вы представляете.
Я предлагаю вам создать UILabel для каждого из ваших полей, например, с использованием одной строки NSString. Не используйте cell.textLabel, а добавьте свой контент в cell.contentView, и тогда вы сможете управлять цветом каждой метки, цветом фона и размерами меток. Внешний вид "сетки" может быть увеличен путем назначения белого цвета для contentView и назначения зеленого цвета, например, для фона каждой метки. Например, после создания вашей ячейки:
cell.contentView.backgroundColor = [UIColor clearColor];
UILabel* aLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 0.0, 100, 44)];
aLabel.tag = indexPath.row;
aLabel.textAlignment = UITextAlignmentLeft;
aLabel.textColor = [UIColor whiteColor];
aLabel.text = @"Test";
aLabel.backgroundColor = [UIColor greenColor];
[cell.contentView addSubview:aLabel];
[aLabel release];
Начните следующую метку с 201 или более, чтобы оставить впечатление белой вертикальной линии.
Сохраните индекс строки в теге, чтобы вы могли управлять альтернативными цветами в:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell
*)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row == 0 || indexPath.row%2 == 0) {
// use light green, get access to the labels via [cell.contentView viewWithTag:indexPath.row]
} else {
// use dark green
}
}
Надеюсь, это поможет.