我在我的tableviewcell中有一个按钮,当某个条件满足时,我想更改按钮图像。我有我的桌面视图无尽的滚动。swift tableviewcell按钮图像问题
例如,我在第一页上有10个单元格。第一个单元格符合标准并且按钮图标更改正确显示。但是当我滚动11.单元格图标也发生了变化,不符合标准。当我向下滚动时,我观察到第21,31 ...细胞图标也发生了变化。
func setupX(){
let authorID = self.yazar?["author_id"].int!
let fetchRequest = NSFetchRequest(entityName: "FavAuthors")
let sortDescriptor = NSSortDescriptor(key: "authorID", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]
let predicate = NSPredicate(format: "authorID == %ld", authorID!)
fetchRequest.predicate = predicate
let fetchResults = self.context!.executeFetchRequest(fetchRequest, error: nil) as? [FavAuthors]
if fetchResults!.count == 0 {
}else{
self.followButton.setImage(UIImage(named: "UnFollow Button.pdf"), forState: UIControlState.Normal)
}
}
这是因为tableview中重用的小区....你必须对细胞保持按钮状态摆脱这种 –
我没有任何的想法代码与所描述的问题有什么关系,但我仍然可以知道发生了什么问题:tableViewCells被重用,如果一个单元格移出屏幕,另一个移动到屏幕上,则不会创建新单元格,它会重用先前被驳回的一个。如果将图像设置在“cellForRowAtIndexpath”之外的某个位置,那么如果为新的索引路径创建了单元格,则将保留以前设置的内容。 – luk2302
我把它设置在我的自定义tableviewcell –