在动态TableView中为一个单元格设置背景

时间:2016-05-14 17:19:28

标签: ios uitableview

我有一个TableView动态原型,并希望第一个单元格具有与其他单元格不同的背景。

我的尝试是添加

if indexPath.row == 0 {
    cell.backgroundView = UIImageView(image: UIImage(named: "firstCellBackground"))
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell

这实际上是有效的。第一个单元格获得不同的背景,但是一旦我开始滚动,其他一些单元格也会获得背景。 :(

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

UITableViewCell个实例通常会因性能原因而重复使用;例如,最初显示第0行的那个单元可能稍后显示第11行。如果您使用UITableViewCell子类,则可以实现prepareForReuse(),其中backgroundView可以被清除。或者你可以试试这个:

if indexPath.row == 0 {
    cell.backgroundView = UIImageView(image: UIImage(named: "firstCellBackground"))
} else {
    cell.backgroundView = nil
}