2012-02-02 5 views
0

Я создал подкласс UITableViewCell, который имеет свойство UIImageView, называемое imgView. Мои группы имеют только 2 строки. Первая строка, я хочу, чтобы setImage на UIImageView, вторая строка, я не хочу изображения. Поэтому я делаю это в cellForRowAtIndexPath:Выход UIImageView в сгруппированном UITableView

if (indexPath.row == 0) { 
    [cell.imgView setImage:icon]; 
} 
else { 
    cell.imgView.hidden = YES; 
} 
return cell; 

Он работает с cavaet. Как только я прокручу вниз, а ячейки вверху с экрана, мои значки начинают исчезать или появляться в разных строках. Как мне объяснить это, так как я использую метод [tableView dequeuReusableCellWithIdentifier]. Благодарю.

+0

Пожалуйста, покажите больше кода. Что такое строка и ячейка? – theWalker

+0

row - indexPath.row, ячейка - это только моя пользовательская ячейка, которая обладает свойством imgView. –

ответ

0

если вы используете

if(cell == nil) 
{ 
    cell = [[[UItableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifierRight] autorelease]; 
} 

затем удалить if(cell == nil) состояние.

0

Я понял. Все, что мне было нужно, это иметь

cell.imgView.hidden = NO; 

в первом if (row.indexPath == 0) блоке.

+0

Вы должны просто установить изображение на ноль, если оно! = 0. Это было бы немного чище. – Vinnie

0

Причина, по которой ваши изображения исчезают, заключается в том, что вы должны сначала сохранить их в массив, а затем установить изображение из объектов в массиве. У меня была та же проблема, это работает отлично! Кроме того, убедитесь, что массив в массиве mutable. Надеюсь, что это поможет: D

Смежные вопросы