美文网首页iOS归纳
iOS 图片查看原图(图片缩放、拖动、切换)

iOS 图片查看原图(图片缩放、拖动、切换)

作者: 光之盐汽水 | 来源:发表于2018-05-21 17:31 被阅读0次

    我们现在来开发一个图片查看原图的功能。主要功能如下:

    1、点击图片进入查看原图页面。

    2、在原图页面可以对图片进行操作:

    2.1、单击任意位置/上滑下滑手势,则退出查看原图页面。

    2.2、双击任意位置,第一次双击放大图片、第二次双击缩小图片。

    2.3、支持缩放手势,对图片进行缩放。

    2.4、左右滑动进行图片的切换。

    2.5、图片放大时可以对图片进行拖动,以查看全图。

    2.6、首次加载时,会有加载中动画,加载失败,再次进入会重新加载。

    好,我们现在就开始吧!

    一、创建项目,完成初始界面。

    1、创建项目。(这里不做陈述了)

    2、创建初始界面。(一个图片展示列表,点击每个图片可以进入查看原图页面)。

    效果图:

    图片展示列表

    二、创建原图查看页面

    1、创建查看原图控制器,添加collectionView和pageControlLabel。

    其中collectionView用于显示图片,pageControlLabel用于显示第几张图片。

    collectionView设置为横向滑动。

    2、创建collectionViewCell。里面添加ScrollView和UIImageView。

    3、给scrollView和imageView添加手势。(单击、双击、上下滑动、左滑、右滑、长按、双指展开捏合)

    其中单击、双击、上下滑动、左滑、右滑、双指展开捏合,这些手势都是任意位置都可以使用,因此我把这些手势添加到了scrollView上面;而长按手势,我给添加到了imageView上面。

    添加手势

    注意:单击和双击手势想要共存,需要添加一句代码:

     [tapBySingleClickrequireGestureRecognizerToFail:tapByDoubleClick];//点击手势和双击手势共存,当没有检测到doubleTapGestureRecognizer 或者 检测doubleTapGestureRecognizer失败,singleTapGestureRecognizer才有效

    4、双击手势、双指捏合展开手势的特殊处理。

    双击手势:

    双击手势需要判断是连续多次点击的情况。只有连续两次点击的时候,才可以执行放大和缩小功能;连续3次点击的话,不执行。

    首先设置一个全局变量,用于判断是连续两次点击还是连续3次点击。

    双指捏合展开手势:

    因为我们将放大缩小手势添加到了scrollView,所以,我们需要在scrollView的代理方法-(UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView中,指定放大缩小的对象。并且在动画结束时,让图片居中显示。

    5、添加block回调方法,用于处理退出、左滑、右滑、长按等操作。

    完成!看一下效果如何。

    第一张图片 第三张图片 放大 缩小 长按出弹框等

    相关文章

      网友评论

        本文标题:iOS 图片查看原图(图片缩放、拖动、切换)

        本文链接:https://www.haomeiwen.com/subject/ukgfjftx.html