2016-01-13 69 views
0

我需要根據高度來設置UIImageView尺寸aspectfit。UIImageView方面適合高度

意味着我的要求是,我的圖像高度應該是固定的,但圖像的寬度應該根據高度改變我知道在UIViewContentModeScaleAspectFit它會自動取寬度和高度,但如果我需要固定高度和動態寬度根據身高來配合。

回答

3
UIImage *originalImage = [UIImage imageNamed:@"image.png"]; 
double width = originalImage.size.width; 
double height = originalImage.size.height; 
double apect = width/height; 

double nWidth = 320.f/ apect; 
self.img.frame = CGRectMake(0, 0, nWidth, 320.f); 
self.img.center = self.view.center; 
self.img.image = originalImage; 
0
-(CGSize)resizeImage:(CGSize)imageSize toTargetedHeight:(float)height { 

NSLog(@"actualImageSize : %@", NSStringFromCGSize(imageSize)); 

float scaleFactor = height/imageSize.height; 
float newHeight = imageSize.height * scaleFactor; 
float newWidth = imageSize.width * scaleFactor; 

CGSize newSize = CGSizeMake(newWidth, newHeight); 

NSLog(@"convertedImageSize : %@", NSStringFromCGSize(newSize)); 
return newSize; 

} 

這將創建一個特定的高度圖像與保持其縱橫比。