Nikita
я бы создал var currentPage и в viewControllerBefore и viewControllerAfter бы чекал currentPage. Если меньше чем какое-то значение ,которое тебе нужно, то выходить из функции. Еще одна есть идея: в subviews у pageViewController найти его UIScrollView, подписаться на делегат, и имплементировать scrollViewDidScroll, и чекать значение scrollView.contentOffset.x
первый вариант пробовал, как раз в вопросе его описал, только вместо currentPage у меня были allowLeftSwipe и allowRightSwipe, но это не суть. Я начинаю свайпать, у меня уже показывается экран, на который по идее нельзя переходить и только потом срабатывает точка останова в viewControllerBefore или viewControllerAfter