Настройте ячейки таблицы для отображения изображений - PullRequest
1 голос
/ 30 мая 2011

Я собираюсь добавить изображения (через строку URL) в табличное представление. Однако фотоизображения не отображаются в таблице. Ниже приведен мой код для этого.

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

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

        UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectZero];
        imageView.tag = kImageValueTag;
        [cell.contentView addSubview:imageView];

        [imageView release];
    }

    // Configure the cell...
    NSUInteger row = [indexPath row];
    Photo *thisPhoto = [self.thisArray objectAtIndex:row];

    UIImageView *thisImageView = (UIImageView *)[cell.contentView viewWithTag:kImageValueTag];
    NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: thisPhoto.imageURL]];

    NSLog(@"URL: %@",thisPhoto.imageURL);

    thisImageView.image = [UIImage imageWithData:imageData];

    return cell;
}

Все мои изображения имеют разные размеры. Как сделать так, чтобы в таблице отображались изображения в зависимости от их размеров?

1 Ответ

2 голосов
/ 30 мая 2011

Следующие сообщения в блоге могут помочь вам загрузить изображения в ячейки из Интернета.

MHLazyTableImages - Эффективная загрузка изображений для больших таблиц

HJCache: библиотека кешей iPhone для асинхронной загрузки и кэширования изображений.

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

Хотя вы можете изменить размер каждой ячейки в зависимости от размера изображений, но это снизит производительность вашего UITableView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...