2013-07-28 4 views
0

У меня есть прокрутка в каждой ячейке в моем представлении таблицы, хотя картинки, встроенные в мой scrollview, не отображаются до тех пор, пока я не прокручу таблицу вверх и вниз ... У меня есть пользовательский класс с @property для scrollview и ячейки. У меня есть код для установки прокрутки в методе cellForRowAtIndexPath:. Это должно быть вызвано также первоначальным созданием ячеек? Я смущен.UIScrollView в проблемах с содержимым UITableView

Как я могу избавиться от проблемы и сделать изображения сначала, когда я запустил приложение?

код Похожие:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *cellID = @"CustomID"; 

    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID]; 

    if (cell == nil) { 
     cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID]; 
    } 

    for (int i = 0; i < [imageArray count]; i++) { 
     CGRect frame; 
     frame.origin.x = cell.scrollView.frame.size.width * i; 
     frame.origin.y = 0; 
     frame.size = cell.scrollView.frame.size; 

     UIImageView *imageView = [[UIImageView alloc] initWithFrame:frame]; 
     imageView.image = [UIImage imageNamed:[imageArray objectAtIndex:i]]; 
     [cell.scrollView addSubview:imageView]; 
    } 

    cell.scrollView.contentSize = CGSizeMake(cell.scrollView.frame.size.width * [imageArray count], cell.scrollView.frame.size.height); 

    return cell; 
} 
+0

Извините, на ваш вопрос? –

+0

Где вы можете прокрутить прокрутку? Вы создали «CustomCell» в редакторе IB/Storyboard? –

+0

Каков размер ячейки по умолчанию и вид прокрутки - это рама, равная 'CGRectZero'? – Wain

ответ

1

Это точно не относится к вашему вопросу, но вы будете работать в этом вопросе тоже:

Не забывайте, что ваши клетки будут использоваться повторно. После reusage (позволяет сказать, что пользователь прокручивает вниз, клетка перемещается вверх от экрана, а следующий, который появляется на дне будет физически экземпляр CustomCell, что только disappeard и повторно.)

Поэтому добавьте:

for (UIView *aView in [NSArray arrayWithArray:cell.subviews]) { 
     [aView removeFromSuperview]; 
     // if you don't arc then release them and take care of their subviews - if any. 
    } 

перед добавлением нового UIImageView. (Я думал, что есть способ удалить все подзаголовки за один раз, но не нашел)

+0

В этом случае, я думаю, он должен удалить subviews из 'cell.scrollView.subviews'. Просто будьте осторожны: если вы удалите все подпункты из UIScrollView, индикаторы прокрутки также будут удалены. Вам нужно сделать некоторую проверку (на основе тега или класса), чтобы вы могли удалить только свой контент из прокрутки. –

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