• 单击双击放大图片


    -(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];

        

    }

  • 相关阅读:
    (转)一篇教会你写90%的shell脚本
    (转)printf命令详解
    (转)linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )
    (转)Shell中read的选项及用法
    (转)linux中shell变量$#,$@,$0,$1,$2的含义解释/Shell中的${}、##和%%使用范例/export
    (转)linux运维人员必会的22道shell编程面试题及视频讲解
    (转)李文周的博客
    ROS报错“An error occurred during the signature verification”的解决办法
    RRT and RRT Variants
    ROS LocalPlanner 基于自行车模型的DWA
  • 原文地址:https://www.cnblogs.com/yeng/p/5865493.html
Copyright © 2020-2023  润新知