• ios UIScrollView响应点击事件


    前言:还是那个图片浏览的demo,利用UIScrollView实现图片的分页显示,现在希望点击每一张图片,都可以跳转到另一个专门对图片进行放大缩小的controller.

    面临的问题是:UIScrollView作为一个如此常用的控件,查看UIScrollViewDelegate,只有滑动响应,竟然没有响应点击事件的方法!那么,就只有自己写点击事件了。

    事件的具体操作好写,关键是如何把点击事件传进来?有两种方法:一、用现成的协议 二、自己新定义一个协议。

    这里,我们介绍第一种方法,

    协议@protocol UIGestureRecognizerDelegate <NSObject>    类UITapGestureRecognizer
     
    具体实现如下:
    //对srcollView添加点击响应
    UITapGestureRecognizer *sigleTapRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTapGesture:)];
    sigleTapRecognizer.numberOfTapsRequired = 1;
     [_srcollView addGestureRecognizer:sigleTapRecognizer];

    点击后的响应:

    -(void)handleTapGesture:( UITapGestureRecognizer *)tapRecognizer
    {
        int tapCount = tapRecognizer.numberOfTapsRequired;
        // 先取消任何操作???????这句话存在的意义???
        [NSObject cancelPreviousPerformRequestsWithTarget:self];
        switch (tapCount){
            case 1:
                [self performSelector:@selector(handleSingleTap) withObject:nil afterDelay:0.22];
                break;
    //        case 2:
    //           [self handleDoubleTap:tapRecognizer];
                 break;
        }
    }
      

    针对不同点击(单击、双击)的具体操作:这个自己根据自己的情况来写。

    关于不使用UIGestureRecognizerDelegate,完全由自己写,可参考http://www.cnblogs.com/neozhu/archive/2012/03/30/2425224.html,但是我没有验证过,不知道可不可行。

    如果要直接判断收拾方向之类的,比如向左或向右轻扫,可以使用UISwipeGestureRecognizer类。可参考http://o0o0o0o.iteye.com/blog/875333

  • 相关阅读:
    WDF CSS 书写规范
    瞬间之美web界面设计如何让用户心动 读后感(一)
    ubuntu install node0.8.9 to the current user
    js单元测试_jsTestDriver
    window.print
    Java内省
    jQuery源代码学习jQuery对象扩展
    jdk集合结构
    【转载】程序员(1)
    【装载】JAVA虚拟机的内存模型
  • 原文地址:https://www.cnblogs.com/wyqfighting/p/3183436.html
Copyright © 2020-2023  润新知