前言:仍是那個圖片瀏覽的demo,利用UIScrollView實現圖片的分頁顯示,如今但願點擊每一張圖片,均可以跳轉到另外一個專門對圖片進行放大縮小的controller.html
面臨的問題是:UIScrollView做爲一個如此經常使用的控件,查看UIScrollViewDelegate,只有滑動響應,居然沒有響應點擊事件的方法!那麼,就只有本身寫點擊事件了。ui
事件的具體操做好寫,關鍵是如何把點擊事件傳進來?有兩種方法:1、用現成的協議 2、本身新定義一個協議。spa
這裏,咱們介紹第一種方法, code
//對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。事件