如何使UIImageView不比它包含的视图宽?

时间:2013-12-07 18:05:46

标签: ios objective-c uiimageview uiimage

我将UIImageView的图像设置为1024x1024的图像,因此很多图像不可见,特别是宽度方式,并且切断了屏幕的边缘。

我尝试使用clipsToBounds

UIImageView *imageFromLink = [[UIImageView alloc] initWithImage:responseObject];
imageFromLink.clipsToBounds = YES;
[darkOverlayView addSubview:imageFromLink];

但它似乎没有做任何事情,而且图像对于视图来说仍然太大了。

3 个答案:

答案 0 :(得分:0)

您将要更改contentMode属性以获得所需效果。 UIViewContentModeScaleAspectFill很可能是您想要的。

答案 1 :(得分:0)

您可以将图像视图的帧设置为所需的大小。默认情况下,它将是图像的大小。

UIImageView *imageFromLink = [[UIImageView alloc] initWithImage:responseObject];
imageFromLink.contentMode = UIViewContentModeScaleAspectFit;
imageFromLink.frame = CGRectMake(0, 0, desiredWidth, desiredHeight);
[darkOverlayView addSubview:imageFromLink];

同时设置contentMode,以便在较小的图像视图中正确缩放图像。

答案 2 :(得分:0)

您应该将imageview的帧设置为等于容器的边界。

UIImageView *imageFromLink = [[UIImageView alloc]initWithImage:responseObject];
imageFromLink.contentMode = UIViewContentModeScaleAspectFit;
imageFromLink.frame = darkOverlayView.bounds;
[darkOverlayView addSubview:imageFromLink];