前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iOS 图片预览 放大缩小的实现方式

iOS 图片预览 放大缩小的实现方式

作者头像
码客说
发布于 2019-10-22 06:35:16
发布于 2019-10-22 06:35:16
2.6K00
代码可运行
举报
文章被收录于专栏:码客码客
运行总次数:0
代码可运行

原理

UIImageView放到UIScrollView中 对UIImageView添加点击事件实现

具体代码

添加代理UIScrollViewDelegate

涉及的两个View

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var showImageView: UIImageView!

添加事件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func addEvent(){
    self.scrollView.isMultipleTouchEnabled = true;
    self.scrollView.maximumZoomScale = 5.0;
    self.scrollView.minimumZoomScale = 1;
    self.scrollView.delegate = self;
    
    self.showImageView.isUserInteractionEnabled = true;
    
    let tapImgOnce = UITapGestureRecognizer.init(target: self, action: #selector(tapImgViewHandle(image:)))
    tapImgOnce.numberOfTapsRequired = 1;
    tapImgOnce.numberOfTouchesRequired = 1;
    self.showImageView.addGestureRecognizer(tapImgOnce)
    
    let tapImgTwice = UITapGestureRecognizer.init(target: self, action: #selector(tapImgViewHandleTwice(image:)))
    tapImgTwice.numberOfTapsRequired = 2;
    tapImgTwice.numberOfTouchesRequired = 1;
    self.showImageView.addGestureRecognizer(tapImgTwice)
    
    tapImgOnce.require(toFail: tapImgTwice);
}
@objc func tapImgViewHandle(image:UIImageView){
    self.dismiss(animated: false, completion: nil)
}
    
@objc func tapImgViewHandleTwice(image:UIImageView){
    if(self.scrollView.zoomScale > 1){
        self.scrollView.setZoomScale(1, animated: true)
    }else{
        self.scrollView.setZoomScale(3, animated: true)
    }
}
    
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
    return self.showImageView;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
iOS图片缩小放大scollView实现代码
现在给大家分享我的项目中可以直接使用的组件,需要引入 afnetworking等第三方框架
用户8671053
2021/10/29
2.2K0
iOS开发中简单的图片浏览器
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/53010697
用户1451823
2018/09/13
1.1K0
iOS View添加点击事件
单击 self.showImageView.isUserInteractionEnabled = true; let tapImgOnce = UITapGestureRecognizer.init(target: self, action: #selector(tapImgViewHandle(image:))) tapImgOnce.numberOfTapsRequired = 1; tapImgOnce.numberOfTouchesRequired = 1; self.showImageV
码客说
2019/10/22
1.4K0
IOS UITapGestureRecognizer 双击手势
1 override func viewDidLoad() { 2 super.viewDidLoad() 3 // Do any additional setup after loading the view, typically from a nib. 4 let rect = CGRect(x:0, y:80, width:320, height: 5 self.imageView = UIImageView(frame:rect) 6 7 let image = UIImage(na
用户5760343
2019/07/08
1.6K0
UIScrollView
UIScrollView UIScrollView全部API学习。 //1.设定滚定条的样式 typedef NS_ENUM(NSInteger, UIScrollViewIndicatorStyle) { UIScrollViewIndicatorStyleDefault, // black with white border. good against any background 黑白边框 UIScrollViewIndicatorStyleBlack, // black only. small
用户1941540
2018/05/11
1.9K0
Swift日常开发随笔
提示:之所以为空白,是因为我把下拉列表中的tableView.reloadData()这行代码屏蔽掉了,加入的数组没有刷新。
编程怪才-凌雨画
2020/10/11
2K0
iOS 图片浏览的放大缩小
功能描述:支持网络和本地gif、jpeg等格式图片的浏览、捏合或双击放大缩小、长按保存到本地相册、获取gif图片的循环次数和时长。 效果预览.gif 主要部分:创建一个继承于UIScrollView的
且行且珍惜_iOS
2018/05/22
4K0
iOS手势与变形
手势在用户交互中有着举足轻重的作用,这篇文字简单的介绍了iOS中的手势,并通过手势对控件进行变形处理。若有错误,或不同的见解,请指正! 手势 ---- iOS手势分为下面这几种: UITapGestureRecognizer(点按) UIPanGestureRecognizer(拖动) UIScreenEdgePanGestureRecognizer (边缘拖动) UIPinchGestureRecognizer(捏合) UIRotationGestureRecognizer(旋转) UILongPr
BY
2018/05/11
1.9K0
iOS 仿支付宝银行卡界面(支持Swift和OC)
在有支付相关的APP中,都有对应的钱包,虽然现在的支付宝,微信支付很流行,但是都是需要绑定自己的银行卡,那么这个银行卡的卡包页面该怎么实现呢?在网上找了许久也没有找到合适的,那就索性自己造轮子。
网罗开发
2021/01/29
1.5K0
iOS 仿支付宝银行卡界面(支持Swift和OC)
【iOS学习】——手势识别
iOS 手势 1.如果一个控件继承于 UIControl,那么它将不需要手势 2.所有控件都可以添加手势 [控件 addGestureRecognizer: ] 3.iOS 系统提供的手势有哪些 UITapGestureRecognizer 点击 UISwipeGestureRecognizer 轻扫 UIPanGestureRecognizer 拖动 UIRotationGestureRecognizer 旋转 UIPinchGe
LeeCen
2018/10/11
1.5K0
【iOS学习】——手势识别
IOS5开发-UIScrollView添加单击事件的方法
UIScrollView在开发中是一个非常常用的控件,UIScrollView具有水平、垂直滚动和缩放效果。但是尽然没有响应单击事件这个事件。而这个事件在日常的交互中是非常需要的。比如当用于单击或轻触图片的某个位置时,给于一些交互性提示。 下面我将用例子说明一下如何给UIScrollView添加一个单击的响应。 代码如下: 添加一个自定义的UIScrollView,命名:UITouchScrollView UITouchScrollView.h代码如下 #import <Foundation/Foundat
阿新
2018/04/12
1.9K0
xcode uiscrollview with paging and zoom
Here is a simple and sample code that demonstrate the photo slide function with zoom using uiscrollview.  image.png this is the first photo  image.png sliding image.png zooming in particular photo  1. first drag three photos to your project , size no
阿新
2018/04/12
1.2K0
xcode uiscrollview with paging and zoom
iOS14开发-UIView
在 iOS 13 中引入了新的 API — Diffable Data Source,它不仅能够驱动 UITableView 和 UICollectionView,而且可以更简单高效的实现数据的刷新。
YungFan
2021/01/21
12.1K0
[iOS]swift开发实现滚动切换Tab导航
iOS开发中经常会遇到上方有一条Tab切换导航栏,点击Tab可以切换下方的页面显示。当Tab栏内元素显示超出一屏时就需要滚动显示,用户点击靠近边缘的item时就需要把屏幕外的元素滚动到屏幕内,以供用户选择,如果不滚动,那么用户就认为他点击的可能就是最后一个item,影响用户体验。具体实现就是scrollView。
柯柯哥
2023/12/22
3710
iOS-UIScrollerView
xy_ss
2023/11/22
2130
iOS-UIScrollerView
iOS_38_手势
默认是会调用其[super touchesXXX],这个super就是上一个响应者
全栈程序员站长
2022/07/06
9690
iOS_38_手势
iOS17适配指南之UIPageControl
YungFan
2023/07/24
4780
iOS17适配指南之UIPageControl
iOS开发UIScrollView使用详解 原
@property(nonatomic)CGPoint contentOffset;
珲少
2018/08/16
1.7K0
UIScrollView的一步步实现1 简介1.1 工作原理1.2 UIScrollView常见的几个重要控件1.3 UIScrollView常见的重要属性1.4 手工代码实现拖动2 三个重要属性的进
1 简介 UIScrollView 是负责滚动的视图。苹果最强大的地方就在于其良好的UI展示,和UE体验。如果不会很好的使用UIScrollView,就等于丧失了苹果一般的法力。 移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限。当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容。 普通的 UIView 不具备滚动功能,不能显示过多的内容。 UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 1.1 工作原理
stanbai
2018/06/28
1.7K0
iOS14开发-触摸与手势识别
用于描述触摸的窗口、位置、运动和力度。一个手指触摸屏幕,就会生成一个 UITouch 对象,如果多个手指同时触摸,就会生成多个 UITouch 对象。
YungFan
2021/05/10
2.4K0
相关推荐
iOS图片缩小放大scollView实现代码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验