/**
* 添加平移手勢
*
* @param view
*/
- (void)addTapGestureWithView:(UIView *)view
{
UIPanGestureRecognizer *recognizer = [[UIPanGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSwipe:)];
[self.view addGestureRecognizer:recognizer];
[recognizer release];
}
/**
* 平移手勢響應事件
*
* @param swipe swipe description
*/
- (void)handleSwipe:(UIPanGestureRecognizer *)swipe
{
if (swipe.state == UIGestureRecognizerStateChanged) {
[self commitTranslation:[swipe translationInView:self.view]];
}
}
/**
* 判斷手勢方向
*
* @param translation translation description
*/
- (void)commitTranslation:(CGPoint)translation
{
CGFloat absX = fabs(translation.x);
CGFloat absY = fabs(translation.y);
// 設置滑動有效距離
if (MAX(absX, absY) < 10)
return;
if (absX > absY ) {
if (translation.x<0) {
//向左滑動
}else{
//向右滑動
}
} else if (absY > absX) {
if (translation.y<0) {
//向上滑動
}else{
//向下滑動
}
}
}
利用UIPanGestureRecognizer 判斷手勢滑動方向
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.