Вот некоторые незначительные исправления, которые вы должны сделать - они могут не все помочь с проблемой, но вы никогда не знаете.
Добавьте блок завершения здесь:
[self.pageViewController setViewControllers:viewControllers
direction:UIPageViewControllerNavigationDirectionForward
animated:NO
completion:nil];
Не помню точно, но я думаю, что setViewControllers
выполняется асинхронно - ничего нельзя добавить, пока не будет завершен обработчик завершения. Чтобы добавить блок, вы просто помещаете ^
и блок кода (как обычный метод):
[self.pageViewController setViewControllers:viewControllers
direction:UIPageViewControllerNavigationDirectionForward
animated:NO
completion:^{
// your code here.
}];
Это может решить проблему, но я не могу быть уверен, пока не смогу вернуться к своему компьютеру.
Вы также должны ставить NSLog
в начале каждого метода, по крайней мере, до тех пор, пока не закончите отладку. Таким образом, вы всегда знаете, что называется, а что нет. Если он не вызывается, попробуйте удалить autorelease
из pageViewController
- он может быть освобожден, потому что он не используется.