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;
});
}
Это приводит к:
На изображении выше последний ряд 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 ответ
Установите явное ограничение ширины и высоты в представлении изображения. Если вы этого не сделаете, то значения объятия и сжатия контента будут использоваться во всех представлениях, чтобы решить, насколько большим должно быть каждое из них в зависимости от размера контента.