UITableViewCell: UIImageView в ContentView перекрывает изображения в iPhone SDK. - PullRequest
1 голос
/ 19 января 2011

В своем приложении для iPhone я использую tableView и добавил imageView как ContentView в моей tableViewcell.

При нажатии кнопки я изменяю содержимое таблицы. Поэтому каждый раз, когда я нажимаю кнопку, она должна показывать соответствующее изображение в tableViewCell.

Проблема:

Предположим, я загружаю изображения 1.png, 2.png и 3.png в tableView по нажатию кнопок A, B и C. соответственно.

Теперь давайте рассмотрим, что изначально я нажал кнопку A и появится 1.png. Теперь, когда я нажимаю кнопку B, появляется 2.png, но 1.png также остается в фоновом режиме . Так что в основном он перекрывает tableViewCell с новым изображением.

Устранение неполадок, которые я уже сделал:

1) Я попытался освободить imageView и установить imageView.image = nil;

2) Я пытался перезагрузить таблицу и очистить таблицу перед каждым нажатием кнопки.

3) Даже я пытался поместить весь код в if (cell == nil) предложение cellForRowAtIndexPath method

Ответы [ 4 ]

0 голосов
/ 19 января 2011

Спасибо всем вам, ребята.Я получил ответ, и я действительно благодарен Бену Готтлибу.

Узнайте ответ Бена Готлиба по ссылке ниже.Это сработало для меня.

Спасибо, Бен Готлиб !!!!

Удалить-изображение-из-таблицы-view -cell-made-Programma

Надеюсь, это поможеткто-то !!

0 голосов
/ 19 января 2011

Если вы используете три разных изображения, то попробуйте imgView1.hidden = FALSE; imgView.hidden = TRUE; imgView3.hidden = TRUE для события нажатия кнопки button1. Точно так же для buttton2 и button3.

0 голосов
/ 19 января 2011

Кажется, вы установили изображение в блоке (cell == nil).Если да, пожалуйста, закомментируйте это.

Сделайте это как:

if(cell ==nil){
//add image view here.
}

UIImageView *imgView = (UIImageView *)[cell.contentView viewWithTag:ImgViewTag];
if(condition)
   imgView.image = someImage;
else
   imgView.image = nil;
0 голосов
/ 19 января 2011

Вы пытались очистить содержимое содержимого ячейки?

for(UIView* subview in [cell.contentView subviews]) {
   [subview removeFromSuperview];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...