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事件

相關文章
相關標籤/搜索