【发布时间】:2015-12-28 16:30:17
【问题描述】:
我有一个带有自定义 UITalbeCellView 的 UITableView。每个单元格都有一个标题、正文和日期。当我获取数据时某些标题必须是红色的,因此对于那些标题必须为红色的单元格,有一个 Bool 设置为 true。
第一次获取数据时看起来不错,但是当您上下滚动几次时,所有标题最终都变成了红色。
我使用结构数组来存储数据,并且在 cellForRowAtIndexPath 上有一个 if 并且如果该数组位置的布尔值为真,我将颜色更改为红色:
let cell = tableView.dequeueReusableCellWithIdentifier("CommentsRowTVC", forIndexPath: indexPath) as! CommentsRowTVC
let single_comment = self.AOS[indexPath.row]
cell.titulo_comentario?.text = single_comment.titulo_comment
if single_comment.flag == true {
cell.titulo_comentario.textColor = UIColor.redColor()
}
我想它会重用视图或类似的东西。这有什么简单的解决方法吗?还是我必须实现自己的 TableView 以防止这种情况发生? 我还认为 dequeueReusableCellWithIdentifier 方法可能是导致我的问题的方法......但我是 swift 新手,想不出任何替代方法。
在单元格上的按钮上发生类似的事情,当您单击单元格中的按钮时,它会更改其颜色并禁用它,但只是该单元格上的按钮。然而,当点击一个单元格时,来自其他单元格的按钮也会受到这些变化的影响。
【问题讨论】:
标签: ios xcode swift uitableview