运用手指動態來切換UIView(採用UISwipeGestureRecognizer)

使用手指動態來切換UIView(採用UISwipeGestureRecognizer)

使用手指動態來切換UIView,意思就是說當手指頭接觸螢幕然後橫向或是縱向劃過螢幕後,就可以切換不同的畫面。
關於手指動態偵測的API,主要是UIGestureRecognizer,他衍生的subclass包含,

UITapGestureRecognizer
UIPinchGestureRecognizer
UIRotationGestureRecognizer
UISwipeGestureRecognizer
UIPanGestureRecognizer
UILongPressGestureRecognizer

以UISwipeGestureRecognizer為例,若要讓UIView具備手指動態的偵測,必須先行宣告swipe gesture recognizer然後設定recognizer接收到手指動態事件之後,誰要對這個事件作反應。

//宣告UISwipeGestureRecognizer,同時指定target及action
//self 將對手指動態事件執行switchViews的反應
UISwipeGestureRecognizer *swipeGestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self
action:*selector(switchViews)];

//指定偵測手指劃過螢幕的方向為由右至左
swipeGestureRecognizer.direction = UISwipeGestureRecognizerDirectionLeft;

//加入swipe gesture recognizer到主要的viewcontroller中
[self.view addGestureRecognizer:swipeGestureRecognizer];

//釋放swipeGestureRecognizer所佔的記憶體
[swipeGestureRecognizer release];

設定完swipe gesture recoginzer之後,各位就可以在switchViews方法中加入所需的code來切換不同的畫面(UIView)