【问题标题】:How do I load only one ViewController at a time while paging in a UIScrollView如何在 UIScrollView 中分页时一次仅加载一个 ViewController
【发布时间】:2019-09-08 07:33:34
【问题描述】:

我正在创建一个包含多个页面的页面UIScrollView。每页上都有一个UIViewController,其中一些是内存密集型的,另一些会被多次使用,我希望重用。

我的第一次尝试是通过使用类似于此答案continuous paging 的无限分页来创建许多页面的错觉。

不过,我在实现这一点时遇到了一些困难。在滚动视图中加载多个视图控制器而不同时实例化它们的最佳方法是什么。

【问题讨论】:

  • quite memory intensive 是什么意思?每个控制器都有 API 调用吗?
  • @Nizzam 我想在不同的视图控制器上进行图像、collectionViews 网络调用,并将它们全部初始化,并且在不在视图中时与父视图分开可能会占用大量资源。

标签: ios swift uiviewcontroller uiscrollview infinite-scroll


【解决方案1】:

使用 UIPageViewController。它为您实现了这一点。

【讨论】:

  • 感谢您的回答,我尝试过使用 UIPageViewController 进行试验,但在视图控制器的可重用性和跟踪用户当前所在的页码、用户滚动的方向方面遇到了麻烦与 UIScrollView 或其他容器视图相比,当用户在 UIViewController 之间滑动时制作自定义动画可能会更复杂一些。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-24
  • 2019-09-17
  • 1970-01-01
相关资源
最近更新 更多