在一个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

}

posted on 2015-07-08 16:13  权威儿童  阅读(257)  评论(0)    收藏  举报

导航