ios – 如何在用户到达最后一页后将新页面添加到UIPageViewController?

我有一个 UIPageViewController,其中包含从通过网络获取的数据实例化的视图控制器.当用户正在分页并进入最后几页时,我启动了一个新的网络操作,并将生成的新视图控制器放在我的UIPageViewControllerDataSource的可变视图控制器数组的末尾.总的来说这一切都很好.

但是,如果网络速度很慢(或用户速度很快),则可以在网络操作完成之前到达最终页面.由于当用户到达最后一页时调用pageViewController:viewControllerAfterViewController:,它已经返回nil(“表示没有下一个视图控制器”).

是否有一种强制UIPageViewController调用pageViewController的好方法:viewControllerAfterViewController:再次(这样当网络操作完成并且现在有新页面时,我可以强制进行此调用以便用户可以寻呼到新页面)?或者是否有解决方法(可能阻止用户分页到最后一页,但仍然显示反弹动画)?

解决方法

见: Refresh UIPageViewController – reorder pages and add new pages

当您从网络获取数据时,请调用setViewControllers:direction:animated:completion:并再次将当前视图设置为当前视图.这迫使它重新调用pageViewController:viewControllerAfterViewController:

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...