diff --git a/Classes/AFKPageFlipper.h b/Classes/AFKPageFlipper.h index 6da040f..293f934 100644 --- a/Classes/AFKPageFlipper.h +++ b/Classes/AFKPageFlipper.h @@ -48,6 +48,7 @@ typedef enum { BOOL animating; BOOL disabled; + CGFloat sensitivityScale; } @property (nonatomic,retain) NSObject *dataSource; @@ -57,6 +58,7 @@ typedef enum { @property (nonatomic, retain) UIPanGestureRecognizer *panRecognizer; @property (nonatomic,assign) BOOL disabled; +@property (nonatomic,assign) CGFloat sensitivityScale; - (void) setCurrentPage:(NSInteger) value animated:(BOOL) animated; diff --git a/Classes/AFKPageFlipper.m b/Classes/AFKPageFlipper.m index 3e1dd9c..abbea3c 100644 --- a/Classes/AFKPageFlipper.m +++ b/Classes/AFKPageFlipper.m @@ -339,6 +339,14 @@ - (void) setDisabled:(BOOL) value { } } +@synthesize sensitivityScale; + +- (CGFloat) sensitivityScale { + if (sensitivityScale <= 0) { + sensitivityScale = 1.0; + } + return sensitivityScale; +} #pragma mark - #pragma mark Touch management @@ -376,6 +384,8 @@ - (void) panned:(UIPanGestureRecognizer *) recognizer { float translation = [recognizer translationInView:self].x; float progress = translation / self.bounds.size.width; + + progress *= self.sensitivityScale; if (flipDirection == AFKPageFlipperDirectionLeft) { progress = MIN(progress, 0); @@ -442,7 +452,7 @@ - (void) panned:(UIPanGestureRecognizer *) recognizer { return; } - if (fabs((translation + [recognizer velocityInView:self].x / 4) / self.bounds.size.width) > 0.5) { + if (fabs((translation * sensitivityScale + [recognizer velocityInView:self].x / 4) / self.bounds.size.width) > 0.5) { setNextViewOnCompletion = YES; [self setFlipProgress:1.0 setDelegate:YES animate:YES]; } else { diff --git a/Classes/MainController.m b/Classes/MainController.m index b23c432..6bbe8db 100644 --- a/Classes/MainController.m +++ b/Classes/MainController.m @@ -42,6 +42,7 @@ - (void) loadView { self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; flipper = [[[AFKPageFlipper alloc] initWithFrame:self.view.bounds] autorelease]; + flipper.sensitivityScale = 2; flipper.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; flipper.dataSource = self;