我想在表格视图中更新按钮图像。当我的表视图最初加载时,按钮图像是正确的。但是当我向下滚动时,新单元格不会更新到我的新图像;他们只是重复使用初始集中的随机旧图像。我尝试过setImage
和setBackgroundImage
。这是我的cellForRowAtIndexPath
:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0)
{
SSKGrooveCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"grooveCell" forIndexPath:indexPath];
SSKSongCellInfo *entry = [_objects objectAtIndex:indexPath.row];
NSArray *icons = [plistHelper iconsForGroove:entry.metadata.title];
NSString *icon = [icons objectAtIndex:0];
NSString *iconImgString = [NSString stringWithFormat:@"element_%@_grooves", icon];
NSString *iconImgWithExt = [NSString stringWithFormat:@"%@.png", iconImgString];
[cell.inst1Button setBackgroundImage:[UIImage imageNamed:iconImgWithExt] forState:UIControlStateNormal];
cell.titleLabel.text = entry.metadata.title;
return cell;
}
return nil;
}
答案 0 :(得分:0)
要进行快速测试,请在cellForRowAtIndexPath
cell.imageView.image = [UIImage imageNamed:iconImgWithExt];
你看到正确的图像吗?
inst1Button
IBOutlet连接。答案 1 :(得分:0)
我刚在应用上遇到过这个问题。结果发现iOS 7.1中有关UITableView中的UIButton的错误。在设置图像后,您需要在按钮上调用setNeedsLayout。 E.g:
[cell.inst1Button setNeedsLayout];