我需要在UIPageViewController上显示一些媒体内容,并允许用户在媒体之间滑动(就像一个画廊),我不知道有多少视频或图像在前面,因为我必须从服务器逐个获取它们。如何使用UIPageViewController与未知的页码,只知道上一页和下一页的视图控制器?
您可以尝试使用集合视图,如页面视图控制器。您可以尝试使集合视图单元格像页面视图控制器一样适合屏幕,并在需要时更新数据源和集合视图。
你可以在HomeViewController中看到一个示例here
对于UIPageViewController
,您无需提供项目总数即可使其正常工作。在设置UIPageViewController
时,您只需要通过以下代码设置首次加载时要显示的视图控制器:
pageViewController.setViewControllers([viewControllerToBeDisplayed], direction: .forward, animated: false, completion: nil)
然后为了让用户来回走动,你只需要实现以下UIPageViewControllerDataSource
方法:
public func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController?
public func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController?
希望能帮助到你。