我有一个TableView
动态原型,并希望第一个单元格具有与其他单元格不同的背景。
我的尝试是添加
if indexPath.row == 0 {
cell.backgroundView = UIImageView(image: UIImage(named: "firstCellBackground"))
}
在
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
这实际上是有效的。第一个单元格获得不同的背景,但是一旦我开始滚动,其他一些单元格也会获得背景。 :(
有什么建议吗?
答案 0 :(得分:2)
UITableViewCell
个实例通常会因性能原因而重复使用;例如,最初显示第0行的那个单元可能稍后显示第11行。如果您使用UITableViewCell子类,则可以实现prepareForReuse()
,其中backgroundView
可以被清除。或者你可以试试这个:
if indexPath.row == 0 {
cell.backgroundView = UIImageView(image: UIImage(named: "firstCellBackground"))
} else {
cell.backgroundView = nil
}