单击双击放大图片

-(void)create{

_scrollerView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, YHScreemW, YHScreemH)];

_scrollerView.showsVerticalScrollIndicator = NO;

_scrollerView.showsHorizontalScrollIndicator = NO;

_scrollerView.minimumZoomScale = 1.0;

_scrollerView.maximumZoomScale = 2.0;

_scrollerView.delegate = self;

[self.view addSubview:_scrollerView];

//粘贴一张图片

_imageView = [[UIImageView alloc] init];

_imageView.frame = CGRectMake(0, 0, _scrollerView.frame.size.width, _scrollerView.frame.size.height);

_imageView.center = CGPointMake(_scrollerView.frame.size.width/2, _scrollerView.frame.size.height/2);

_imageView.contentMode = UIViewContentModeScaleAspectFit;

[_imageView setImage:[UIImage imageWithData:_picData]];

[_imageView setUserInteractionEnabled:YES];

[_scrollerView addSubview:_imageView];

//添加双击事件

UITapGestureRecognizer *doubleTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];

[doubleTapGesture setNumberOfTapsRequired:2];

[_imageView addGestureRecognizer:doubleTapGesture];

//添加双击事件

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

[singleTapGesture requireGestureRecognizerToFail:doubleTapGesture];//没有这个单击会阻挡双击

[_imageView addGestureRecognizer:singleTapGesture];

}

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView

{

return _imageView;

}

- (void)handleDoubleTap:(UIGestureRecognizer *)gesture

{

CGFloat zoomScale = _scrollerView.zoomScale;

zoomScale = (zoomScale == 1.0) ? 2.0 : 1.0;

CGRect zoomRect = [self zoomRectForScale:zoomScale withCenter:[gesture locationInView:gesture.view]];

[_scrollerView zoomToRect:zoomRect animated:YES];

}

- (CGRect)zoomRectForScale:(float)scale withCenter:(CGPoint)center

{

CGRect zoomRect;

zoomRect.size.height =_scrollerView.frame.size.height / scale;

zoomRect.size.width  =_scrollerView.frame.size.width  / scale;

zoomRect.origin.x = center.x - (zoomRect.size.width  /2.0);

zoomRect.origin.y = center.y - (zoomRect.size.height /2.0);

return zoomRect;

}

-(void)singleTapGesture{

[self dismissViewControllerAnimated:YES completion:nil];

}

时间: 2025-01-02 15:46:21

单击双击放大图片的相关文章

(四)双击放大与缩小图片

自定义ZoomImageView实现到这里,基本上完成一大半了.在上一篇又给它添加了自由移动的功能.如果你没读过,可以点击下面的链接:http://www.cnblogs.com/fuly550871915/p/4940103.html 在这篇文章中,就来实现双击放大或者缩小图片.用到的知识点就是GestureDetector,用它来监测双击事件.至于双击后怎么缩放图片,相信在前面几篇文章中,你都已经很熟悉了.但是难点是,我们要求双击后缓慢的放大或者缩小,而不是一下子就放大到或者缩小到目标值.这

android 图片双击放大倍数的算法

图片双击放大倍数和图片大小.显示图片的view大小,及图片当前的scale大小均有关系. 为了避免图片放大过大,设置了一个放大倍数的最大限制SCALE_LIMIT,目前该值为4. 具体算法如下所示: 图片的宽和高分别记为:imageW imageH 显示图片的view宽和高分别记为:viewW viewH 几个重要的比例记为: scale_1 = viewW / imageW scale_2 = viewH / imageH scale_3 = viewW / imageH scale_4 =

Android Gallery图片双击放大倍数的算法

图片双击放大倍数和图片大小.显示图片的view大小,及图片当前的scale大小均有关系. 为了避免图片放大过大,设置了一个放大倍数的最大限制SCALE_LIMIT,目前该值为4. 具体算法如下所示: 图片的宽和高分别记为:imageW imageH 显示图片的view宽和高分别记为:viewW viewH 几个重要的比例记为: scale_1 = viewW / imageW; scale_2 = viewH / imageH; scale_3 = viewW / imageH; scale_4

js实现移动端图片预览:手势缩放, 手势拖动,双击放大...

.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > .katex-html { display: block; } .katex-display > .katex > .katex-html > .tag { position: absolute; right: 0px; } .katex { font-style: normal; font

双击改变图片大小和多点触摸改变图片大小

系统的 UIScrollView 就有多点触摸改变图片的大小的功能,如果在向添加别的触摸事件,如这次讲到的双击图片大小就可以自定义一个 scrollView,当然,这个 scrollView 是继承自系统的 UIScrollView  的,这样,它仍然具有系统 scrollView 的特性,另外,可以添加自己想要的特性. 新的 scrollView 只需要添加一个方法,就可以实现双击图片变大的功能 #import "ZYScrollView.h" @implementation ZYS

在viewPager中双指缩放图片,双击缩放图片,单指拖拽图片

我们就把这个问题叫做图片查看器吧,它的主要功能有: 1.双击缩放图片. 2. 双指缩放图片. 3.单指拖拽图片. 为此这个图片查看器需要考虑以下的技术点: 一.双击缩放图片: 1.如果图片高度比屏幕的高度小得多,那么就将图片放大到高度与屏幕高度相等,否则就放大一个特定的倍数. 2.如何判断是否到达这个倍数来停止缩放. 3.判断完且停止放大后,图片可能已经超出了这个倍数需要的大小,如何回归到我们的目标大小. 4.判断完且停止缩小后,图片宽度可能已经小于屏幕宽度,在两边留下了空白,如何重置为原来的大

单机放大图片

好久没上来了,有种小陌生的感觉. 今天就传一个这几天一直在研究的代码吧 单击加号,图片放大,加号变成减号:单击减号,图片变小,减号变加号. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>泡芙小姐</title> <link rel="stylesheet" type="text/css" href

jquery 放大图片

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

Chapter 5. ListBox控件(双击播放图片)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace ListBox控件 { public partial class Form2