2

iOS UITableView のセル imageView をタグで更新することは可能ですか? 他の方法もあるとありがたいのですが、できればタグを使いたいです。

私は次のように画像を設定しました:

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

そして、別の方法でセルを取得できます(タグは常に一意です):

NSInteger the_tag = ((UIView*)sender).tag;
UITableViewCell *updateCell = (UITableViewCell*)[tableView viewWithTag:the_tag];

この方法でセルを更新することは可能ですか? これは動作しません:

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

編集:

振り返ってみると、タグの使用方法は不適切です。使用できます(セクション化されたテーブルがある場合、行とセクションが表示されます):

- (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath {
    NSLog(@"Tapped Row %@", indexPath);
    UITableViewCell *cell = [self->tableView cellForRowAtIndexPath:indexPath];
    cell.imageView.image = [UIImage imageNamed:@"lunch.png"];
}
4

4 に答える 4

2
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
   CustomCell *cell = (CustomCell*)[tblView1 cellForRowAtIndexPath:indexPath.row];

   UIImageView *imageView = cell.imageView;//CustomCell you have imageView as @propertyVariable..
   imageView.image = [UIImage imageNamed:@"image.png"];
}

お役に立てば幸いです...

于 2013-10-25T08:40:06.560 に答える
1

電話してみる[updateCell setNeedsLayout]か、[updateCell.imageView setNeedsLayout]

于 2013-10-25T08:20:03.120 に答える
0

すべての答えをありがとう。振り返ってみると、タグの使用方法は良くないと思います。元の投稿を更新して、より良い解決策と思われるものを追加しました。

于 2013-10-25T09:47:01.917 に答える