我设置了一个视图(或多或少)如下:
-- 视图控制器
--- 滚动视图
---内容视图
----容器视图
-----> 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];
}
这将适用于静态和动态表视图。