1. 在另外一个ViewController中显示一个相册中加载过来的图片,不失真的加载,具体代码如下:

其中,显示时间是0.3秒时,有一个从外向里面的一个加载动画效果。

使用方法:

ImageEnlargeViewController *_vc = [[ImageEnlargeViewController alloc]init];

_vc.enlargeImages = thumbnail;

[self.navigationController pushViewController:_vc animated:YES];

2. 在当前图片缩略图所在的ViewController中点击加载不失真的放大图片(将显示时间由0.0调整为0.3s),同时打开下面两个注释的代码

// [backgroundView addSubview:imageView];

// [window addSubview:backgroundView];

使用方法: [PhotoBrowser showImage:UIImageView.view];

- (void)viewDidLoad
{[super viewDidLoad];[self setTitle:@"图片预览"];[self initContent];
}- (void)initContent
{self.imageViews=[[UIImageView alloc] initWithImage:self.enlargeImages];self.imageViews.userInteractionEnabled=YES;[self showImage: self.imageViews];
}- (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;[self.view addSubview:imageView];// [backgroundView addSubview:imageView];// [window addSubview:backgroundView];UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hideImage:)];[backgroundView addGestureRecognizer: tap];[UIView animateWithDuration:0.0 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];}];
}

IOS 图片点击放大不失真相关推荐

  1. layui 怎么设置点击图片放大_layui实现一个图片点击放大

    layui实现一个图片点击放大 2019-10-27 01:58:45  卢浮宫  版权声明:本文为站长原创文章,转载请写明出处 QQ分享 一.背景 业务需求,实现一个图片点击放大功能.之前有说个一个 ...

  2. 图片点击放大,并显示浮层

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" ...

  3. 图片点击放大java_Eova列表显示图片并点击放大

    eova3.3.0支持新的上传文件姿势:设置元字段配置 {"filename":"ORIGINAL_TIME"} 在原先保存原文件名的基础上动态增加了时间戳,在 ...

  4. jQuery实现图片点击放大缩小(小案例)

        我们不废话,直接上例子.首先利用dom的垂直分层实现图片的点击放大和缩小(手机上使用的效果较好),在图片放大的时候同时禁止页面的滑动,如果在web端的话可以不禁止屏幕的滚动(因为图片放大是将图 ...

  5. Android 自定义图片点击放大、缩小

    @SuppressLint("AppCompatCustomView") public class ZoomImageView extends ImageView implemen ...

  6. 前端jquery实现图片点击放大缩小

    利用dom的垂直分层实现图片的点击放大和缩小(手机上使用的效果较好),在图片放大的时候同时禁止页面的滑动,如果在web端的话可以不禁止屏幕的滚动(因为图片放大是将图片的宽度变成100%,在web上长度 ...

  7. 图片点击放大,你的网页也能做到!

    我经常在博客中插入大图,然而总需要借助浏览器的滚轮缩放功能放大观看实在是不方便.于是我希望做一个点击即放大的功能. 下面就是一张可点击放大的图片,你可以点击试试!当然,我期望的效果是自动对所有博客中的 ...

  8. ionic图片点击放大,双指缩放

    对于这个功能,也是查找了好多的资料,到现在其中的代码也需要好好研究研究,这个方法的缺点就是每次只能显示一张图片,并对其进行放大~至于多张图片,以后再研究~ 1.写好模板页(comImageBox.ht ...

  9. js 实现图片点击放大功能(组图)

    js 实现组图点击放大功能 需求 使用到的组件或者类库 功能代码 需求 客户要求产品详情中的轮播图可以点击放大,并且放大后可以切换到其他图片 使用到的组件或者类库 layer.js jquery 功能 ...

最新文章

  1. ImportError: No localization support for language ‘eng’ in python
  2. 麻烦大家看了我的文章觉得有用就关注我下
  3. error40无法打开到sql_SQL入门学习,初步认识ADO
  4. 新零售场景下的AIPL分析
  5. ip地址管理系统_门禁监控管理系统项目总结
  6. Win7打印时文档被挂起的解决方法
  7. 从底部上滑失灵_iPad 上这 20 个快捷操作,真正帮你提高生产力!
  8. kind富文本编辑器_kind富文本编辑器
  9. 【iCore2模块】VGA模块样板谍照!
  10. python规范模块和包
  11. result之global-results全局结果集
  12. svnserver目录浏览器可以访问,但客户端不可以访问,解决方法。
  13. 数据治理——如何处理“脏数据”
  14. 抖音如何接入在线客服系统?
  15. 保证只要看一遍,新手也能写出来的超简单五子棋代码
  16. 史诗手册!微信小程序新手自学入门宝典!你想要的都在这里
  17. excel自动计算体育成绩
  18. 微服务电商项目技术全解析
  19. EAS小贷系统(财务业务一体化)
  20. InstallShield打包源码公布

热门文章

  1. 服务器网络适配器多路传送器协议,win8系统开启Microsoft网络适配器多路传送协议的具体方法...
  2. 笑~~~~~~~~~~~~
  3. Linux常用命令之搜索命令
  4. 通过ScheduledExecutorService代替Timer
  5. 河边的小屋原来是这么俗气的一个名字
  6. 计算机二级本科免修,计算机二级证书可以免考自考的哪些科目?
  7. centos7-登录显示名称及登录欢迎界面设置
  8. Cynthia 是个问题管理/BUG管理/任务管理/项目管理系统。
  9. LUNA2016数据集
  10. RE0:从零开始的服务器生活(一):双硬盘双系统+无线网卡驱动+最简单的Ubuntu16.04 Nvidia显卡驱动设置