iOS 图片点击放大封装
来源:互联网 发布:妆前乳 知乎 编辑:程序博客网 时间:2024/06/06 03:18
封装类: SJAvatarBrowser.h
#import <Foundation/Foundation.h>#import <UIKit/UIKit.h>@interface SJAvatarBrowser : NSObject// 类方法+(void)showImage:(UIImageView *)avatarImageView;@end
#import "SJAvatarBrowser.h"static CGRect oldframe;@implementation SJAvatarBrowser+(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]; }];}@end
调用页面
#import "ViewController.h"#import "SJAvatarBrowser.h"@interface ViewController ()@property (nonatomic, strong)UIImageView *imageViews;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; self.imageViews = [[UIImageView alloc]init]; self.imageViews.image = [UIImage imageNamed:@"20120322222308426.jpg"]; self.imageViews.frame = CGRectMake((self.view.bounds.size.width - 200) / 2, 100, 200, 200); self.imageViews.backgroundColor = [UIColor redColor]; self.imageViews.userInteractionEnabled = YES; [self.view addSubview:self.imageViews]; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(magnifyImage)]; [self.imageViews addGestureRecognizer:tap];}#pragma mark 调用图片放大功能- (void)magnifyImage { NSLog(@"局部放大"); [SJAvatarBrowser showImage:self.imageViews];}@end
0 0
- iOS 图片点击放大封装
- ios封装多张图片点击任意UIImageView放大图片
- iOS图片点击点击放大
- iOS 点击图片放大Demo
- iOS 点击图片放大效果
- iOS 点击图片放大效果
- iOS点击图片放大 再点击缩小
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- IOS 图片点击放大不失真
- iOS点击图片全屏放大效果
- iOS 图片捏合放大缩小 点击放大缩小
- iOS-UIImageView点击图片放大,再次点击恢复原始尺寸
- iOS开发,webView加载图片, js交互, 点击图片放大
- android 图片点击放大
- LLBL Gen Pro 生成设置详解
- 易观智库:2015年中国网络视频市场及用户研究
- Android进度条实例
- MFC CEdit限定输入数字
- python最简单直接的自定义模块导入方法
- iOS 图片点击放大封装
- iOS中的多态是什么?
- Android JSBridge的原理与实现
- 简单的圆角Dialog
- 士兵杀敌(一)
- iOS文件目录
- 二叉树的子结构
- slf4j--源码解析
- python 入门学习