1

当我单击一个单元格时,我正在尝试更改图像,但它不起作用

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath     *)indexPath
{
    UITableViewCell *cell = [feedsTableView cellForRowAtIndexPath:indexPath];

UILabel *title = (UILabel *)[cell.contentView viewWithTag:0011];
UIImage *image = (UIImage *)[cell.contentView viewWithTag:0017];

image = [UIImage imageNamed:@"reload.png"];
title.text = @"test";

cellClicked = YES;

[feedsTableView beginUpdates];
[feedsTableView endUpdates];

[feedsTableView deselectRowAtIndexPath:indexPath animated:YES];

}

然而,标题发生了变化。

我的图像如何添加到表格中。

CGRect imageFrame = CGRectMake(0, 0, 120, 90);
    customImage.tag = 0017;
    self.customImage = [[UIImageView alloc] initWithFrame:imageFrame];
    [cell.contentView addSubview:self.customImage];
4

3 回答 3

2

你需要做这样的事情:

UIImageView *imageView = [cell.contentView viewWithTag:0017];

imageView.image = [UIImage imageNamed:@"reload.png"];

UIImages 不是 UIView 的子类。请注意在第二个代码块中如何将 UIImageView 添加到单元格而不是 UIImage。

于 2013-07-03T13:53:33.763 回答
2

您是否知道在 C(以及因此 Objective-C 和 C++)中,带前导的整数文字0是八进制的,而不是十进制的。

所以:

0011 != 11
0017 != 17
于 2013-07-03T13:53:52.057 回答
0

与其从表格视图中添加视图,不如直接使用自定义 UITableViewCell?

这样您就可以避免使用标签,因为您只需将标签和图像视图设置为单元格的属性,就可以避免整个问题。

它的性能也略高一些,因为标签和图像视图将与单元格一起重复使用,而不是每次都需要设置它们。

于 2013-07-03T14:07:57.053 回答