目前我正在使用:
cell.imageView.image = [UIImage imageNamed:@"image.png"];
更改单元格的图像。
但是,如果我只知道indexPath.row?
,我怎么能改变呢?我试过了:
[self.tableView cellForRowAtIndexPath:0].imageView.image = [UIImage imageNamed:@"image.png"];
答案 0 :(得分:2)
试
UITableVieCell *cell = [self.tableView cellForRowAtIndexPath:0];
cell.imageView.image = ...
答案 1 :(得分:1)
你的问题究竟是什么? How can i change it if i only know the indexpath.row?
这个问题没有意义。更改某个单元格所需的只是indexPath
。
UITableVieCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
cell.imageView.image = [UIImage imageNamed:@"myImage"];
这段代码与@JMD略有不同。他的意志只会改变第一个细胞的图像。如果您想要每个单元格,则会为每个新创建的单元格调用cellForRowAtIndexPath
。因此,插入indexPath.row
代替0
应该可以解决问题。
答案 2 :(得分:0)
你也可以这样做,
((UITableViewCell *)[self.tableView cellForRowAtIndexPath:0]).imageView.image = [UIImage imageNamed:@"image.png"];
答案 3 :(得分:0)
您应该编写 cellForRowAtIndexPath ,以便它可以确定要显示的图像,然后调用
[self.tableView reloadRowsAtIndexPaths:withRowAnimation:]
而不是直接调用 cellForRowAtIndexPath 。您应该永远直接调用此方法,因为如果您使用排队的单元格,更改将不会是永久性的。使 cellForRowAtIndexPath 方法足够智能,以确定要显示的内容,并在indexPath处重新加载行。