iOS基礎 - 手勢識別 與 手勢說明

1、使用手勢識別的四個步驟

 1> 實例化手勢識別ui

    - (id)initWithTarget:(id)target action:(SEL)action;spa

 2> 設置手勢識別屬性ip

 3> 將手勢識別附加到指定的視圖ci

    addGestureRecognizerget

 4> 編寫監聽方法it

2、手勢說明

 0> UIGestureRecognizer     全部手勢識別的父類,不容許直接使用,能夠用來自定義手勢io

    最經常使用的屬性:class

    view:   發生手勢的視圖方法

    state:  手勢當前的狀態,主要用於連續手勢,對於離散手勢通常不使用im

 1> UITapGestureRecognizer          點按手勢(離散手勢,其餘手勢都是連續手勢)

    屬性:

    numberOfTapsRequired       點擊次數,單擊雙擊

    numberOfTouchesRequired    手指根數

 2> UILongPressGestureRecognizer    長按手勢

    屬性不建議修改

 3> UIPanGestureRecognizer          拖動手勢

    屬性:不經常使用

    方法:

    // 在視圖中拖動的距離

    - (CGPoint)translationInView:(UIView *)view;

    // 在視圖中拖動的速度,一般可用於模擬慣性,須要一些物理方面的計算

     - (CGPoint)velocityInView:(UIView *)view;

 4> UIPinchGestureRecognizer        捏合手勢

    屬性:

    scale           比例

    velocity        捏合速度,不經常使用

 5> UIRotationGestureRecognizer     旋轉手勢

    屬性

    rotation        旋轉角度

    velocity        旋轉速度,不經常使用

 6> UISwipeGestureRecognizer        輕掃手勢,一般添加到根視圖上

    屬性

    numberOfTouchesRequired     參與輕掃手勢的手指根數

    direction                   輕掃的方向

    提示:

    1) 若是要檢測幾個方向的輕掃,須要分別實例化幾個輕掃手勢

    2) 輕掃手勢雖然是連續手勢,可是不須要去處理UIGestureRecognizerStateChanged狀態;由於是在手指離開屏幕後,該手勢才被識別的。 

相關文章
相關標籤/搜索