我有一个图像视图我初始化如下:
self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 200)];
[self.imageView setContentMode:UIViewContentModeScaleAspectFill];
self.imageView.clipsToBounds = YES;
然后我在网上获取图片并将其放在视图中。我的问题是我实际上想要显示完整的图像,而不是裁剪它所以它适合200 px。
我怎么能这样做?谢谢!
答案 0 :(得分:2)
因此,您需要检查图像并根据图像的尺寸计算宽度:
UIImage *downloadedImage; // assuming this is not nil
CGFloat imageRatio = downloadedImage.size.height / downloadedImage.size.width;
self.imageView.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_WIDTH * imageRatio);
有一种更好的方法来获取屏幕宽度,而不是使用宏(CGRectGetWidth(self.view.bounds)
),但这与您的问题无关。
答案 1 :(得分:1)
使用内容模式UIViewContentModeScaleAspectFit
缩放图像以适合图像视图,保持图像的纵横比。
你的问题标题与你的问题正文不符,所以我要跟身体一起去:
我的问题是我实际上想要显示完整的图像,而不是 裁剪它所以它适合200 px。