gpt4 book ai didi

ios - 以编程方式更改 UIPageViewController 页面而无需重新加载

转载 作者:行者123 更新时间:2023-11-29 02:07:23 25 4
gpt4 key购买 nike

我正在使用 UIPageViewController(包含两个 UIViewController 和一个 UITableViewController)在我的应用程序中导航。我使用 setViewControllers 方法添加了从一个页面移动到另一个页面的按钮,许多堆栈溢出问题中都建议使用该方法。但是,如果我从 View Controller B 开始,滑动到 View Controller A,然后使用建议的 setViewControllers 方法返回到 View Controller B,它不会简单地返回到页面,它会加载 View Controller B 的新实例。这这是一个问题,因为我在 View Controller B 中显示从 Internet 检索到的数据,因此每次都检索这个数据非常低效。现在我知道这是可能的,因为 snapchat、tinder 和 fling 都可以做到。除非他们只是存储要显示的数据并每次都加载

最佳答案

根据您在评论中的阐述,您已经注意到页面 View Controller 的滚动样式确实恰好缓存了相邻的 View Controller 。但那是一个实现细节,你不应该依赖它。在我看来,您好像不恰本地使用了页面 View Controller ,尤其是因为您只有三个“页面”。我会建议其中之一:

  • 标签栏 Controller 。同样,这样做的好处是所有选项卡栏 Controller 的子级都保持事件状态。

  • ScrollView ,构成您自己的自定义父 View Controller 的基础。您可以将所有三个“页面”作为包含的 View 并排放置,然后滚动。这具有更大的优势,滚动可以正常工作(尽管您也可以让它为选项卡栏 Controller 工作)并且您完全掌控一切,因此 children 再次保持活力。

关于ios - 以编程方式更改 UIPageViewController 页面而无需重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29638847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com