我有一个TableView,其中有一个我需要更改背景颜色的单元格。我已经尝试寻找一个更改单元格背景颜色的答案,但问题是我发现的每个答案都与覆盖tableview函数有关,因为我没有tableviewcontroller,所以它不起作用,而不是是一个嵌入了UITableView的普通视图控制器。
如何更改单元格的背景颜色?
答案 0 :(得分:3)
如果它是隐式或显式表视图并不重要。
在cellForRowAtIndexPath
中设置单元格的属性backgroundColor
:
cell.backgroundColor = UIColor.orange
答案 1 :(得分:2)
首先通过故事板为您的表格视图单元格提供一个标识符:
然后另外vadian's answer访问tableView(_:cellForRowAt:)
DataSource方法中的单元格并更新颜色,在示例中我将方法放在扩展名中:
extension ViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
cell.backgroundColor = UIColor.cyan
return cell
}
}
另外不要忘记添加tableView(_:numberOfRowsInSection:)
方法以符合UITableViewDataSource协议
与评论中提到的rMickeyD一样,不要忘记将表格视图设置为dataSource
,将delegate
与Ctrl + Drag
从表格视图设置为视图控制器,如下所示: