Tôi cho rằng bạn đang thử điều này trong cellForRowAtIndexPath.
Theo UITableViewCell class reference:
Lưu ý: Nếu bạn muốn thay đổi màu sắc nền của một tế bào (bằng cách thiết lập màu nền của một tế bào thông qua các tài sản công bố bởi UIView backgroundColor) bạn phải làm điều đó trong bảng Xem: willDisplayCell: forRowAtIndexPath: phương pháp của đại biểu và không trong bảngXem: cellForRowAtIndexPath: của nguồn dữ liệu.
Vì vậy, làm như sau:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.backgroundColor = [UIColor redColor]; //must do here in willDisplayCell
cell.textLabel.backgroundColor = [UIColor redColor]; //must do here in willDisplayCell
cell.textLabel.textColor = [UIColor yellowColor]; //can do here OR in cellForRowAtIndexPath
}
Nếu bạn cần kiểm soát tốt hơn các màn hình di động, một cách dễ dàng là để thiết kế nó trong IB và tải nó từ ngòi trong cellForRowAtIndexPath. Xem phần "Tải xuống các ô xem bảng tùy chỉnh từ các tệp nib" trên this page trong Hướng dẫn lập trình xem bảng.
Tuyệt vời, đang tìm kiếm ở mọi nơi cho điều này. Cảm ơn –