我目前正在UITableView
工作,每个单元格都包含一个背景中具有特定UIImage
的按钮。我想在单元格中单击按钮时更改此图像。
我有这个代码,工作得很好但是当我点击一个按钮时,几个按钮被修改 - 每5个按钮,不知道为什么。这是代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
[myCell.favorite addTarget:self action:@selector(pressed_fav:) forControlEvents:UIControlEventTouchUpInside];
return myCell;
}
- (void)pressed_fav:(id)sender
{
UIButton *myButton = sender;
[myButton setBackgroundImage:[UIImage imageNamed:@"star.png"] forState:UIControlStateNormal];
}
myCell
是自定义单元格的一个实例,其中包含指向IBOutlet
的{{1}}'收藏'。
答案 0 :(得分:1)
因为UITableView
重新使用了单元格。
您必须在cellForRowAtIndexPath方法中使用某些逻辑来标识按钮的图像。
答案 1 :(得分:0)
非常感谢你!
实际上,当我删除该行时:
myCell = [tableView dequeueReusableCellWithIdentifier:@"cinemaCell"];
它不显示单元格(它已经很好地分配和初始化)。