addSubview для конкретной uitableviewcell на выбор - PullRequest
1 голос
/ 28 января 2012

У меня есть табличное представление, и я хочу добавить просмотр изображения в contentView ячейки в строке, в которой она была выбрана.

Это мой текущий код, и когда я щелкаю по любой ячейке, добавляется только imageView.до последней строки, а не строки, по которой я щелкаю.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    playIcon = [[UIImageView alloc]initWithFrame:CGRectMake(20, 22, 9, 12)];
    UIImage *image = [UIImage imageNamed: @"cell_play.png"];
    [playIcon setImage:image];
    [cell.contentView addSubview:playIcon];
}

Ответы [ 3 ]

1 голос
/ 02 июня 2012

Вы можете сделать это

[[tableView cellForRowAtIndexPath:indexPath] addSubview:playIcon];
0 голосов
/ 20 апреля 2016

работают для меня с UIcollectionView и UItableviewcell в Swift 2.0:

CV_Posts.cellForItemAtIndexPath(index)?.addSubview(imag_curtir)
0 голосов
/ 28 января 2012

Во-первых, вы не определили ячейку в определенной строке.Поскольку ваш компилятор не жаловался, я предполагаю, что ячейка является иваром.Он указывает на последнюю ячейку, на которую он был указан, что вполне может быть последней ячейкой в ​​таблице.

Вы должны быть осторожны, чтобы не устанавливать содержимое ячейки внеМетоды UITableview, включая метод UITableView cellForRowAtIndexPath: `.Это описано в недавнем ответе, который я предоставил по этой ссылке .

Итак, если вы посмотрите на этот ответ, вы прочтете, что методы табличного представления гарантируют, что ячейка отображается правильно, даже когда прокрутка табличного представления и ячейки появляются и исчезают.Я рекомендую вам настроить источник данных с каким-либо тегом или свойством, которое вы можете использовать, чтобы увидеть, что это изображение должно присутствовать.Таким образом, оно будет там, даже если вы прокрутите ячейку, чтобы она исчезла и снова появилась.

...