Ячейка UITableView не отображает изображения по горизонтали

#iphone #uitableview

#iPhone #uitableview

Вопрос:

Я хочу иметь только одну ячейку uitableview, которая может отображать по горизонтали столько изображений, сколько она получает с сервера. Но проблема в том, что в настоящее время я получаю, скажем, 15 изображений с сервера, а ячейка отображает только первые 6 изображений и не отображает остальные 9 изображений. Тем не менее, я вижу, что горизонтальный скроллер прокручивается до конца, поскольку я увеличил размер содержимого в соответствии с размером 15 изображений. Ниже приведен код (для целей тестирования я извлекаю изображение из папки ресурсов вместо получения с сервера).

 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {


static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}

    CGFloat imageXCordinate = 0.0;
    int i =0;
    for(i=0; i < 15; i  )
    {
            NSString *filePathForIconPhotoImage = [[NSBundle mainBundle] pathForResource:@"icon_photo" ofType:@"png"];
            UIImage *iconPhoto = [[UIImage alloc] initWithContentsOfFile:filePathForIconPhotoImage];

            UIImageView *vwIcon=[[UIImageView alloc] initWithFrame:CGRectMake(imageXCordinate,2,iconPhoto.size.width,iconPhoto.size.height) ] ;
            vwIcon.image =iconPhoto;

            [cell.contentView addSubview:vwIcon];
           [vwIcon release];
            [iconPhoto release];

            imageXCordinate = imageXCordinate   basePhoto.size.width;

    }

        [tableView setContentSize:CGSizeMake((basePhoto.size.width * i, tableView.frame.size.height)];
  }
  

ПРИМЕЧАНИЕ:
1. Я знаю, что могу вместо этого использовать UIScrollView, но все же хочу использовать UITableView по некоторым конкретным причинам.
2. Я создал UITableView программно и поместил его в [self.view addSuvView:MyTableView].

Заранее спасибо.

Комментарии:

1. зачем именно вам нужен табличный вид? если вы хотите прокручивать ячейку по горизонтали, вы можете добавить UIScrollView в ячейку. Если вы хотите прокручивать горизонтально всю область, в которой вы отображаете свои изображения, UIScrollView — идеальное решение. Доступно множество руководств по разбиению на листы вложенных представлений, которые позволяют создавать повторно используемые представления (аналогичные ячейкам удаления из очереди), если у вас есть большое количество отображаемых изображений

2. Спасибо за ваш ответ. Если бы вы могли указать мне на руководство по повторному использованию ScrollView для загрузки и отображения изображений при прокрутке, это было бы очень ценно.

3. Если у вас есть учетная запись разработчика Apple, вы можете посмотреть видеоролики сессии wwdc 2010 ( developer.apple.com/videos/wwdc/2010 ). Нужный сеанс называется «Разработка приложений с видами прокрутки». wwdc 2011 ( developer.apple.com/videos/wwdc/2011 ) провел последующую сессию «Продвинутые методы просмотра прокрутки».

Ответ №1: