ios UIScrollView响应点击事件

前言:仍是那个图片浏览的demo,利用UIScrollView实现图片的分页显示,如今但愿点击每一张图片,均可以跳转到另外一个专门对图片进行放大缩小的controller.html

面临的问题是:UIScrollView做为一个如此经常使用的控件,查看UIScrollViewDelegate,只有滑动响应,居然没有响应点击事件的方法!那么,就只有本身写点击事件了。ui

事件的具体操做好写,关键是如何把点击事件传进来?有两种方法:1、用现成的协议 2、本身新定义一个协议。spa

这里,咱们介绍第一种方法, code

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

点击后的响应:orm

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

针对不一样点击(单击、双击)的具体操做:这个本身根据本身的状况来写。htm

关于不使用UIGestureRecognizerDelegate,彻底由本身写,可参考http://www.cnblogs.com/neozhu/archive/2012/03/30/2425224.html,可是我没有验证过,不知道可不可行。blog

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

相关文章
相关标签/搜索