如何更改嵌入式 TableViewController 中静态单元格的颜色



我设置了一个视图(或多或少)如下:

-- 视图控制器

--- 滚动视图

---内容视图

----容器视图

-----> TableView控制器,静态单元格嵌入在容器视图中

每个视图都有一个匹配的出口。

我已经将背景配置为一个漂亮的图像,我想通过页面上的所有控件(包括嵌入式 TableViewController)显示该图像。

我像这样引用了该表:

UIView *theTableView = self.contentView.subviews[0];

并尝试将桌子的颜色设置为像这样清除(以使其透明):

theTableView.backgroundColor = [UIColor clearColor];

但这行不通,因为我认为我需要改变的是细胞的颜色。

如何引用嵌入表格的单元格,以便在我的情况下以编程方式将单元格背景的颜色更改为 clearColor?

谢谢!

您应该设置表视图的委托并响应tableView:willDisplayCell:forRowAtIndexPath:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.tableView = self.contentView.subviews[0]; // use a property UITableView *tableView
    self.tableView.delegate = self;
}
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (tableView != self.tableView) return;
    cell.backgroundColor = [UIColor clearColor];
}

这将适用于静态和动态表视图。

最新更新