这是我正在使用的代码,它工作正常,直到我在表格视图中滚动,单元格相互覆盖并且所有repostedFromLabel都被隐藏。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("FeedsTableViewCell", forIndexPath: indexPath) as? FeedsTableViewCell
if (arrayofPostsFeed[indexPath.row].postedByUser!.nickName!) != arrayofPostsFeed[indexPath.row].ownedByUser!.nickName! {
cell!.repostedFromLabel.text! = "Reposted From \(self.arrayofPostsFeed[indexPath.row].postedByUser!.nickName!)"
} else {
cell!.repostedFromLabel.hidden = true
}
}
我应该如何阻止可重复使用的单元格覆盖彼此?
答案 0 :(得分:1)
您可以在FeedsTableViewCell中实现prepareForReuse函数以重置repostedFromLabel的隐藏属性。像这样:
override func prepareForReuse() {
self.repostedFromLabel.hidden = false
}
目前您没有重置该值,因此在重复使用单元格时会混淆。
答案 1 :(得分:0)
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("FeedsTableViewCell", forIndexPath: indexPath) as? FeedsTableViewCell
if (arrayofPostsFeed[indexPath.row].postedByUser!.nickName!) != arrayofPostsFeed[indexPath.row].ownedByUser!.nickName! {
cell!.repostedFromLabel.text! = "Reposted From \(self.arrayofPostsFeed[indexPath.row].postedByUser!.nickName!)"
cell!.repostedFromLabel.hidden = false
}else {
cell!.repostedFromLabel.hidden = true
}