pageViewControllerviewControllerBefore
The term pageViewControllerviewControllerBefore refers to a callback method used in the iOS UIPageViewController framework. It is part of the UIPageViewControllerDelegate protocol and is written in the form pageViewController(_:viewControllerBeforeViewController:). The method is called by the page view controller when it needs to retrieve the view controller that precedes the currently visible one, enabling navigation in the reverse direction. The delegate returns either the appropriate view controller or nil if there is no preceding controller.
When implementing this method, the developer receives the currently visible view controller as a parameter. Typically
Typical usage looks like this in Swift:
func pageViewController(_ pageViewController: UIPageViewController,
viewControllerBefore viewController: UIViewController) -> UIViewController? {
guard let index = viewControllers.firstIndex(of: viewController), index > 0 else {
}
return viewControllers[index - 1]
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController
viewControllerBeforeViewController:(UIViewController *)viewController {
NSUInteger index = [self.viewControllers indexOfObject:viewController];
if (index == 0 || index == NSNotFound) { return nil; }
return self.viewControllers[index - 1];
}
This method, together with pageViewController(_:viewControllerAfterViewController:), forms the backbone of paging logic. When properly implemented, it gives