2010-12-06 2 views

ответ

3

Вам необходимо внедрить распознаватель жестов в ваше приложение.

В интерфейсе:

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

kMinimumGestureLength минимальное расстояние палец, чтобы путешествовать, прежде чем он считается одним взмахом. kMaximumVariance - это максимальное расстояние в пикселях, которое может оканчиваться пальцем над начальной точкой по оси y.

Теперь откройте файл интерфейса .xib и выберите вид в IB, и убедитесь, что Multiple Touch включен в View 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

Смежные вопросы