如何在 UIPageViewController 中重用相同的 ViewController?
Posted
技术标签:
【中文标题】如何在 UIPageViewController 中重用相同的 ViewController?【英文标题】:How to re-use the same ViewController in a UIPageViewController? 【发布时间】:2017-01-25 18:10:41 【问题描述】:我正在创建一个日历应用程序,我想以 UIPageViewController 类型的样式对其进行布局。所以每个页面显示一天。每个页面都将完全相同(就像在 UI 组件中一样),只是包含不同的数据。我想使用相同的 ViewController 来执行此操作,因为它显然会更整洁。但我只是想知道这是否可能?如果是这样,我将如何去做?谢谢各位。
【问题讨论】:
【参考方案1】:当您说“相同的 ViewController”时,您是指相同的类还是该类的相同实例?前者是微不足道的。后者是有问题的,因为当您从一个页面滑动到另一个页面时,您会同时看到多个实例,因此您必须跟踪一系列实例,知道何时不再需要一个实例,等等。可能会引入一种可能不需要的复杂性。我建议您只为每个页面实例化一个新的视图控制器实例,并且仅在出现性能问题时才进行进一步优化。
另一种模式是不使用页面视图控制器,而是使用集合视图(其中每个条目是不同的整页单元格)。然后你会享受单元重用模式。它还可能会打开其他选项(例如,您可以为每日、每周和每月视图提供不同的集合视图布局)。
但是您可能想继续从一个漂亮而简单的UIPageViewController
开始,并且根本不用担心您的单个“day”视图控制器类的单独实例,因为开销可以忽略不计。
【讨论】:
谢谢!我没有想到使用集合视图,这对我来说可能是一个更直接的解决方案。感谢您的回答以上是关于如何在 UIPageViewController 中重用相同的 ViewController?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UIPageViewController 中更改页面指示器的背景颜色
如何在 UIPageviewcontroller 中实现静态菜单栏?
如何在视图中移动 UIPageViewController 页面控制器按钮的位置
如何在 UIPageViewcontroller 中添加两个视图控制器