Skip to content

Commit c7484b9

Browse files
authored
fix(ios): onPageSelected is called too often (#170)
1 parent 74221bf commit c7484b9

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

ios/ReactNativePageView.m

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -421,12 +421,14 @@ - (void)pageViewController:(UIPageViewController *)pageViewController
421421
didFinishAnimating:(BOOL)finished
422422
previousViewControllers: (nonnull NSArray<UIViewController *> *)previousViewControllers
423423
transitionCompleted:(BOOL)completed {
424-
UIViewController* currentVC = pageViewController.viewControllers[0];
425-
_currentIndex = [_childrenViewControllers indexOfObject:currentVC];
426-
[_eventDispatcher sendEvent:[[RCTOnPageSelected alloc] initWithReactTag:self.reactTag position:[NSNumber numberWithInteger:_currentIndex] coalescingKey:_coalescingKey++]];
427-
428-
[_eventDispatcher sendEvent:[[RCTOnPageScrollEvent alloc] initWithReactTag:self.reactTag position:[NSNumber numberWithInteger:_currentIndex] offset:[NSNumber numberWithFloat:0] coalescingKey:_coalescingKey++]];
429-
_reactPageIndicatorView.currentPage = _currentIndex;
424+
if (completed) {
425+
UIViewController* currentVC = pageViewController.viewControllers[0];
426+
_currentIndex = [_childrenViewControllers indexOfObject:currentVC];
427+
[_eventDispatcher sendEvent:[[RCTOnPageSelected alloc] initWithReactTag:self.reactTag position:[NSNumber numberWithInteger:_currentIndex] coalescingKey:_coalescingKey++]];
428+
429+
[_eventDispatcher sendEvent:[[RCTOnPageScrollEvent alloc] initWithReactTag:self.reactTag position:[NSNumber numberWithInteger:_currentIndex] offset:[NSNumber numberWithFloat:0] coalescingKey:_coalescingKey++]];
430+
_reactPageIndicatorView.currentPage = _currentIndex;
431+
}
430432
}
431433

432434
#pragma mark - Datasource After

0 commit comments

Comments
 (0)