我在UITableView的单元格中有数据和图像。我想改变特定细胞的图像, 我有每个单元格的代码。
我无法找到迭代tableview for cell的方法。
这是我的tableview函数的快照。
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *cellText = nil;
NSArray *keys = [[[self packageItems] allKeys]
sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
cellText = [keys objectAtIndex:[indexPath row]];
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
}
cell.imageView.image=[UIImage imageNamed:@"checkbox.png"];
//cell.imageView.image=[UIImage imageNamed:@"checkbox-checked.png"];
return cell;
}
还有另一个功能,我想将单元格图像更改为cell.imageView.image = [UIImage imageNamed:@“checkbox-checked.png”];
- (void)OnAction
{
static NSString *CellIdentifier = @"Cell";
NSIndexPath *indexPath = [[NSIndexPath alloc] initWithIndex:0];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath ];
cell.imageView.image=[UIImage imageNamed:@"checkbox-checked.png"];
}
答案 0 :(得分:0)
如果您不想在表视图中更改某些功能,则无需创建新单元格,只需修改实际单元格即可。只需在你的cellForRowAtIndexPath委托中创建条件:
if(indexPath == indexToModify) {
cell.imageView.image=[UIImage imageNamed:@"checkbox-checked.png"];
} else {
cell.imageView.image=[UIImage imageNamed:@"checkbox.png"];
}
并在你的 - (void)OnAction方法中最后使用:
[self.tableView reloadData];