代码段
self.newsImage = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,300,130)]; //set placeholder image or cell won't update when image is loaded self.newsImage.image = [UIImage imageNamed:@"newsDetail.png"]; //load the image self.newsImage.imageURL = [NSURL URLWithString:imageBig]; [imageBack addSubview:self.newsImage];
我有40 * 40尺寸的图像,但图像视图尺寸为300 * 130。如何避免拉伸图像。
我想要UIImageview的中心。
提前致谢!!!!
答案 0 :(得分:2)
将内容放在中心位置:
self.newsImage.contentMode = UIViewContentModeCenter;
答案 1 :(得分:1)
你必须将CGSize设置为你的图像宽度和高度,这样图像就不会拉伸,而是排列在中间。
- (UIImage )imageWithImage:(UIImage )image scaledToFillSize:(CGSize)size
{
CGFloat scale = MAX(size.width/image.size.width, size.height/image.size.height);
CGFloat width = image.size.width * scale;
CGFloat height = image.size.height * scale;
CGRect imageRect = CGRectMake((size.width - width)/2.0f,
(size.height - height)/2.0f,
width,
height);
UIGraphicsBeginImageContextWithOptions(size, NO, 0);
[image drawInRect:imageRect];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}