2014-03-06 93 views
0

我的形象圖我初始化這樣的:如何顯示填充屏幕寬度的UIImageView,並設置高度以保持寬高比?

self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 200)]; 
[self.imageView setContentMode:UIViewContentModeScaleAspectFill]; 
self.imageView.clipsToBounds = YES; 

我再取網頁上的圖像,並將其放置在視圖中。我的問題是,我實際上想顯示完整的圖像,而不是裁剪它,所以它適合200像素。

我該怎麼做?謝謝!

回答

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

使用內容模式UIViewContentModeScaleAspectFit縮放圖像以適合圖像視圖,保持圖像的寬高比。

你的問題標題不符合你的問題的身體,所以我用身體去:

我的問題是,其實我是想表現完整的圖像,而不是 作物,以便它適合200像素。

相關問題