2016-01-13 66 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; 

} 

这将创建一个特定的高度图像与保持其纵横比。