IOS UIImageView в ячейке имеет неправильный размер

Я пытаюсь заменить изображение из URL, если оно существует. Кажется, проблема в том, что я не могу установить размер моего UIImageView.

Мой код выглядит так:

UIImageView *partnerIcon = (UIImageView*)[cell viewWithTag:0];
NSURL *imageUrl = [NSURL URLWithString:[[@"http://www.fitpas.ch/coreapp/resources/images/center/" stringByAppendingString:[[result objectAtIndex:indexPath.row] objectForKey:@"cid"]] stringByAppendingString:@".jpg"]];

UIImage* partnerImage = [UIImage imageWithData: [NSData dataWithContentsOfURL: imageUrl]];

if (partnerImage != nil) {
    dispatch_async(dispatch_get_main_queue(), ^{

        //change image
        partnerIcon.image = partnerImage;
        partnerIcon.contentMode = UIViewContentModeScaleToFill;
    });
}

Это приводит к:

UIImageView установить кадр

На изображении выше последний ряд partnerImage - ноль, и это показывает, как это должно быть.

Я пытался масштабировать UIImage с

partnerIcon.image = [UIImage imageWithCGImage:partnerImage.CGImage 
    scale:1/100 orientation:partnerImage.imageOrientation];

но это ничего не изменит.

Я также попытался установить, чтобы изменить размер UIImageView с:

partnerIcon.bounds = CGRectMake(0, 0, 50, 50);

а также

partnerIcon.frame = CGRectMake(0, 0, 50, 50);

но это тоже не работает.

1 ответ

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

Другие вопросы по тегам