UI進階第十發:Quartz 2D手勢識別

1.方法:
UIGestureRecognizer (敲擊,捏合,拖拽,輕掃,長按)
UITapGestureRecognizer(敲擊)
UIPinchGestureRecognizer(捏合,用於縮放)
UIPanGestureRecognizer(拖拽)
UISwipeGestureRecognizer(輕掃)
UIRotationGestureRecognizer(旋轉)
UILongPressGestureRecognizer(長按)

2.使用步驟:
每一個手勢識別器的用法都差不多,比如UITapGestureRecognizer的使用步驟如下
創建手勢識別器對象
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] init];
設置手勢識別器對象的具體屬性

// 連續敲擊2次

tap.numberOfTapsRequired = 2;

// 需要2根手指一起敲擊

tap.numberOfTouchesRequired = 2;
添加手勢識別器到對應的view上
[self.iconView addGestureRecognizer:tap];
監聽手勢的觸發

[tap addTarget:self action:@selector(tapIconView:)];


3.手勢識別的狀態:

typedef NS_ENUM(NSInteger, UIGestureRecognizerState) {

    // 沒有觸摸事件發生,所有手勢識別的默認狀態

    UIGestureRecognizerStatePossible,

    // 一個手勢已經開始但尚未改變或者完成時

    UIGestureRecognizerStateBegan,

    /手勢狀態改變

    UIGestureRecognizerStateChanged,

    /手勢完成

    UIGestureRecognizerStateEnded,

    /手勢取消,恢復至Possible狀態

    UIGestureRecognizerStateCancelled, 

    // 手勢失敗,恢復至Possible狀態

    UIGestureRecognizerStateFailed,

    /識別到手勢識別

    UIGestureRecognizerStateRecognized = UIGestureRecognizerStateEnded

};

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章