Создание эскиза для UITableViewCell imageView - PullRequest
0 голосов
/ 22 июля 2011

Я искал, как изменить размеры изображений для UITableViewCells, чтобы они все были одинакового размера.Я наткнулся на этот пост UITableViewCell imageView размером 40x40 и добавил метод для создания миниатюры в качестве категории.Это работает, но теперь кажется медленнее, и мне интересно, если я что-то упускаю или неправильно использую категорию.В настоящее время в моем методе cellForRowAtIndexPath я создаю новое изображение и использую эту категорию для изменения его размера.Я предполагаю, что это не способ сделать это, так как теперь он делает этот рисунок каждый раз, когда хочет отобразить его в таблице?Нужно ли создавать массив миниатюр для каждой строки и использовать их вместо исходных изображений?Если да, то как бы я отслеживал оба массива (один для текста, другой для изображений), если что-то будет переупорядочено.Спасибо!

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *PopoverIdentifier = @"PopoverIdentifier";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:PopoverIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:PopoverIdentifier] autorelease];
    }
    NSUInteger row = [indexPath row];
    GTest *gt = [_gtList objectAtIndex:row];
    cell.textLabel.text = gt.Name;
    UIImage *cellImage = [UIImage imageNamed:gt.ImageFile];
    cellImage = [UIImage scale:cellImage toSize:CGSizeMake(50, 50)];
    cell.imageView.image = cellImage;
    return cell;

}

1 Ответ

1 голос
/ 23 июля 2011

вы можете создать массив объектов словаря, которые содержат изображение и текстовые данные:

NSDictionary* dict = [NSDictionary dictionaryWithObjectsAndKeys:text,@"text",image,@"image"nil];
[array addObject:dict];

и в вашей ячейке ForRowAtIndexPath:

NSDictionary* dict = [array objectAtIndex:i];
UIImage* img = [dict objectForKey:@"image"];
NSString* txt = [dict objectForKey:@"text"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...