//
// ZXImageBrowser.h
// CMIP
//
// Created by JesseZhu on 2019/8/29.
// Copyright © 2019 JesseZhu. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface ZXImageBrowser : NSObject
/**
* @brief 点击图片变成大图
*
* @param oldImageView 图片所在的imageView
*/
+ (void)showImage:(UIImageView *)avatarImageView;
@end
NS_ASSUME_NONNULL_END
//
// ZXImageBrowser.m
// CMIP
//
// Created by JesseZhu on 2019/8/29.
// Copyright © 2019 JesseZhu. All rights reserved.
//
#import "ZXImageBrowser.h"
@implementation ZXImageBrowser
static CGRect oldframe;
+ (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.2 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.2 animations:^{
imageView.frame = oldframe;
backgroundView.alpha = 0;
} completion:^(BOOL finished) {
[backgroundView removeFromSuperview];
}];
}
@end
//在Controller中调用
#import "ZXImageBrowser.h"
UIImageView *imgView = [[UIImageView alloc] initWithImage:@"XXX"];
[ZXImageBrowser showImage:imgView];
网友评论