创建水平页面视图控制器的简单方法(无限页面)
- 让我们创建一个新项目,我选择单视图应用程序来更好地演示
- 将页面视图控制器拖到故事板上,之后应该更改两件事:
- 将页面视图控制器设置为初始视图控制器
- 更改过渡样式以滚动
-
你需要创建一个 UIPageViewController 类,然后将其设置为故事板上的页面视图控制器的自定义类
-
将此代码粘贴到你的 UIPageViewController 类中,你应该获得一个色彩缤纷的无限分页应用:)
class PageViewController: UIPageViewController, UIPageViewControllerDataSource { override func viewDidLoad() { self.dataSource = self let controller = createViewController() self.setViewControllers([controller], direction: .forward, animated: false, completion: nil) } func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? { let controller = createViewController() return controller } func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? { let controller = createViewController() return controller } func createViewController() -> UIViewController { var randomColor: UIColor { return UIColor(hue: CGFloat(arc4random_uniform(360))/360, saturation: 0.5, brightness: 0.8, alpha: 1) } let storyboard = UIStoryboard(name: "Main", bundle: nil) let controller = storyboard.instantiateViewController(withIdentifier: "View Controller") controller.view.backgroundColor = randomColor return controller } }
这是最终项目的样子,每个卷轴都有一个不同颜色的视图控制器: