您的位置:首页 > 移动开发 > IOS开发

iOS 最简单的图片缩放方法

2015-01-08 10:07 260 查看
#import <UIKit/UIKit.h>

@interface BSYImage : UIImageView

+(void)showImage:(UIImageView*)avatarImageView;

@end

#import "BSYImage.h"

static CGRect oldframe;

@implementation BSYImage

+(void)showImage:(UIImageView *)avatarImageView{

UIImage *image=avatarImageView.image;

UIWindow *window=[UIApplication sharedApplication].keyWindow;

UIView *backgroundView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];

oldframe=[avatarImageView convertRect:avatarImageView.bounds toView:window];

backgroundView.backgroundColor=[UIColor blackColor];

backgroundView.alpha=0;

UIImageView *imageView=[[UIImageView alloc]initWithFrame:oldframe];

imageView.image=image;

imageView.tag=1;

[backgroundView addSubview:imageView];

[window addSubview:backgroundView];

UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hideImage:)];

[backgroundView addGestureRecognizer: tap];

[UIView animateWithDuration:0.3 animations:^{

imageView.frame=CGRectMake(0,([UIScreen mainScreen].bounds.size.height-image.size.height*[UIScreen mainScreen].bounds.size.width/image.size.width)/2, [UIScreen mainScreen].bounds.size.width, image.size.height*[UIScreen mainScreen].bounds.size.width/image.size.width);

backgroundView.alpha=1;

} completion:^(BOOL finished) {

}];

}

+(void)hideImage:(UITapGestureRecognizer*)tap{

UIView *backgroundView=tap.view;

UIImageView *imageView=(UIImageView*)[tap.view viewWithTag:1];

[UIView animateWithDuration:0.3 animations:^{

imageView.frame=oldframe;

backgroundView.alpha=0;

} completion:^(BOOL finished) {

[backgroundView removeFromSuperview];

}];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: