Вам необходимо внедрить распознаватель жестов в вашем приложении.
В вашем интерфейсе:
#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