如何按比例縮放UIImageView?

我有一個UIImageView,目標是經過給它一個高度或寬度按比例縮小它。 測試

UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://farm4.static.flickr.com/3092/2915896504_a88b69c9de.jpg"]]];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 

//Add image view
[self.view addSubview:imageView];   

//set contentMode to scale aspect to fit
imageView.contentMode = UIViewContentModeScaleAspectFit;

//change width of frame
CGRect frame = imageView.frame;
frame.size.width = 100;
imageView.frame = frame;

圖像確實調整了大小但位置不在左上角。 縮放image / imageView的最佳方法是什麼?如何更正位置? spa


#1樓

imageView.contentMode = UIViewContentModeScaleAspectFill;
imageView.clipsToBounds = YES;

#2樓

我已經看過一些關於比例類型的討論,因此我決定整理一篇關於一些最流行的內容模式縮放類型的文章code

相關圖片以下: 圖片

在此輸入圖像描述


#3樓

我想你能夠作點什麼ip

image.center = [[imageView window] center];

#4樓

您能夠嘗試使imageView大小與image匹配。 如下代碼未通過測試。 get

CGSize kMaxImageViewSize = {.width = 100, .height = 100};
CGSize imageSize = image.size;
CGFloat aspectRatio = imageSize.width / imageSize.height;
CGRect frame = imageView.frame;
if (kMaxImageViewSize.width / aspectRatio <= kMaxImageViewSize.height) 
{
    frame.size.width = kMaxImageViewSize.width;
    frame.size.height = frame.size.width / aspectRatio;
} 
else 
{
    frame.size.height = kMaxImageViewSize.height;
    frame.size.width = frame.size.height * aspectRatio;
}
imageView.frame = frame;

#5樓

如下是如何輕鬆擴展它的方法。 it

這適用於模擬器和iPhone的2.x. io

UIImage *thumbnail = [originalImage _imageScaledToSize:CGSizeMake(40.0, 40.0) interpolationQuality:1];
相關文章
相關標籤/搜索