gpt4 book ai didi

ios - 如何最好地将使用一个 UIViewController 将所有页面作为 UIView 处理的图书应用程序转换为 StoryBoarding 和 UIPageView?

转载 作者:行者123 更新时间:2023-11-29 04:47:50 27 4
gpt4 key购买 nike

我有一个图书应用程序,大约有 30 页,每个页面都是一个 UIViewController 中的 UIView。我想将其转换为使用 StoryBoarding 和 UIPageViews 的应用程序。看起来 UIPageView 中的每个“页面”都必须是 UIViewController,而不是 UIView。解决这个问题的最佳方法是什么?我需要为每个 UIView 页面制作一个 UIViewController 吗?

最佳答案

是的。将所有 UIView 子类重写为 UIViewController 子类。我已经在我的几个项目中做到了这一点,结果发现这有点乏味。对于我的项目,我发现最简单的方法是创建一个新的 Xcode 项目并构建新的基础设施。然后为每个旧的 UIView 类创建新的 UIViewController 类。然后,我将旧 UIView 类中的大部分代码复制并粘贴到新的 UIViewController 类中。我将很多 self 更改为 self.viewUIViewController 的生命周期比 UIView 稍微复杂一些,因此我最终将一些初始化代码从指定的初始化器移至 viewDidLoadviewWillAppear 我的 UIViewController 子类中的方法。

对评论的回应:在我的应用程序中,许多页面都有独特的交互功能,因此我编写了一个独特的 UIViewController 子类来管理这些功能。有些页面将具有相同的功能但内容不同。这些只会使用一个 UIViewController 子类的多个实例。我的模型对象将创建这些 UIViewController 子类并用适当的内容填充它们。

换句话说,无需为每个页面编写新的 UIViewController 子类。页面上只有尽可能多的具有独特功能的数量。如果您的页面不执行任何操作,您甚至可以只使用 UIViewController 而无需子类化。

关于ios - 如何最好地将使用一个 UIViewController 将所有页面作为 UIView 处理的图书应用程序转换为 StoryBoarding 和 UIPageView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9356075/

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