在一个view上面全部显示图片(图片比例不变),且图片居于view中心,无论长宽比是怎样的
#pragma mark - 根据放图片的框的frame,将图片进行缩小,并居中放在图片框中
//根据放图片的框的frame,将图片进行缩小,并居中放在图片框中
- (void)scaleAndSetCenter:(UIImage *)img withView:(UIView *)view_
{
CGSize size = view_.frame.size;
// 放置当前图片之前要先将图片框中之前的视图全部清空
for(UIView *v in [view_ subviews])
{
[v removeFromSuperview];
}
UIImageView *tempImgView = [[UIImageView alloc] init];
if (img.size.width >= img.size.height) {
if (img.size.width/img.size.height < size.width/size.height) {
tempImgView.frame = CGRectMake(0, 0, (img.size.width*size.height)/img.size.height, size.height);
}else{
tempImgView.frame = CGRectMake(0, 0, size.width, (img.size.height*size.width)/img.size.width);
}
}
else
{
if (img.size.width/img.size.height > size.width/size.height) {
tempImgView.frame = CGRectMake(0, 0, size.width, (img.size.height*size.width)/img.size.width);
} else {
tempImgView.frame = CGRectMake(0, 0, (img.size.width*size.height)/img.size.height, size.height);
}
}
tempImgView.image = img;
tempImgView.center = CGPointMake(view_.frame.size.width/2, view_.frame.size.height/2);
[view_ addSubview:tempImgView];
[tempImgView release];//2015-05-13内存泄露,添加release
}
浙公网安备 33010602011771号