在几秒钟内重新加载UiPageViewController

时间:2018-11-01 07:09:53

标签: ios swift swift4 uipageviewcontroller

我在iOS应用程序中使用UIPageViewController。我在页面初始加载时从Web API中获取了数据。之后,我想每隔10秒用UIPageViewController的新信息更新值。我试图像这样更新它,但仍然没有更新。

pageViewController(pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool)

请帮助。

1 个答案:

答案 0 :(得分:0)

通过将dataSource设置为nil,然后再次添加到self,可以强制重新加载数据。在这种情况下,它将再次从头开始调用所有数据源方法。

func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {
        if !completed { return }
        DispatchQueue.main.async {
            pageViewController.dataSource = nil
            pageViewController.dataSource = self
        }
}

希望它会解决您的问题。