单元格中的IOS UIImageView大小错误

时间:2016-01-10 12:43:29

标签: ios objective-c uiimageview cgrectmake contentmode

我尝试从网址中替换图片(如果存在)。 问题似乎是我无法设置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 set Frame

在上面的图片中,最后一行partnerImage为nil,显示了它应该如何。

我尝试用

缩放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 个答案:

答案 0 :(得分:0)

在图像视图上设置显式的宽度和高度约束。如果您不这样做,那么将在所有视图中使用内容拥抱和压缩值,以根据内容大小决定每个视图的大小。