Looks like 'UIPageviewcontroller' is not really using the 'UIScrollViewDelegate'. So subclassing the 'UIPageViewController' and using the 'UIScrollViewDelegate' seems to do the trick to find out wether its forward swipe or backward swipe.
//Get Scroll View from PageViewController the scrollView
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
for (UIView* v in [self.view subviews]){
if ([v isKindOfClass:[UIScrollView class]]){
_scrollView = (UIScrollView*)v;
}
}
if (_scrollView){
_scrollView.delegate = self;
}
}
//Record content offset when scroll view begins dragging
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
_startContentOffset = _scrollView.contentOffset;
_transitionState = SurveyPageviewCtlrTransitionInitiated;
[_transitionStateDelegate transitionInitiated:self];
}
// Direction based on displacement
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
if (_scrollView.contentOffset.x > _startContentOffset.x){
[self.delegate forwardDrag];
}
else{
[self.delegate reverseDrag];
}