2010-12-06 35 views

回答

3

您需要在應用程序中實現手勢識別器。

在你的界面:

#define kMinimumGestureLength 30 
#define kMaximumVariance 5 
#import <UIKit/UIKit.h> 
@interface *yourView* : UIViewController { 
    CGPoint gestureStartPoint; 
} 
@end 

kMinimumGestureLength是最小距離爲旅行前,他會成爲一個輕掃手指。 kMaximumVariance是手指可以在y軸上的起始點之上結束的最大距離(以像素爲單位)。

現在打開你的界面.xib文件,並選擇在IB視圖,並確保Multiple TouchView Attributes.

在您的實現啓用,實現這些方法。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
     UITouch *touch = [touches anyObject]; 
     gestureStartPoint = [touch locationInView:self.view]; 
    } 

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ 
    UITouch *touch = [touches anyObject]; 
    CGPoint currentPosition = [touch locationInView:self.view];  

    CGFloat deltaX = fabsf(gestureStartPoint.x - currentPosition.x); 
    CGFloat deltaY = fabsf(gestureStartPoint.y - currentPosition.y); 


    if(deltaX >= kMinimumGestureLength && deltaY <= kMaximumVariance){ 
     //do something 
} 
else if(deltaY >= kMinimumGestureLength && deltaX <= kMaximumVariance){ 
     //do something 
    } 
} 

這是一種實現滑動識別器的方法。此外,你真的應該看看文檔關於這一主題:

UISwipeGestureRecognizer

+0

你沒有解釋kMinimumVariance。 – Moshe 2010-12-06 18:24:51

3

UIGestureRecognizer是你想要的。特別是UISwipeGestureRecognizer子類