gpt4 book ai didi

swift - 如何模块化和重用部分 View 和 Controller ?

转载 作者:行者123 更新时间:2023-11-28 09:09:03 25 4
gpt4 key购买 nike

例如,我有一个带有导航栏、按钮和相关操作的 View 。有没有办法打包部分 View 和 Controller ,以便我可以将它连同代码一起拖放到其他 View 中?当然,将代码维护在一个地方,所有使用它的页面都会反射(reflect)出更改。

这是否可以通过创建一个框架和父类(super class)来实现,以便它可以在整个项目甚至其他项目中共享?不确定自己是否也打包 UI View 组件。任何经验或方向将不胜感激!

最佳答案

这是我的宠儿。您问的是如何模块化和重用 View Controller 的部分,而不是 View 。

UIView 和 UIViewController 属于完全不同的对象家族。将 View Controller 称为 View 会引起无穷无尽的混淆。

请返回并编辑您的主题和问题正文以使用正确的术语。

编辑:

可能最干净的方法是使用容器 View 和嵌入 segues 组合 View Controller 。您使每组组件成为自己的 View Controller 。然后当你想在另一个 View Controller 中托管一个 View Controller 的内容时​​,你可以按照以下步骤操作:

  • 在你的代码中创建一个组件 View Controller 的实例 Storyboard并根据需要对其进行配置。

  • 将容器 View 拖到您的托管 View Controller 和位置它在你想要的地方。 (记得设置约束,所以它实际上在运行时放置在那里。)

  • 按住 Control 从您的容器 View 拖动到组件 View 要作为模块添加的 Controller 。

当你这样做时,组件 View Controller 变成了一个构建 block ,你可以简单地将它放入另一个 View Controller 中,它独立运行。它工作得很好,可以做你想做的事,其中代码和 View 作为一个单元运行。

差不多就这些了。如果要将托管 View Controller 和组件 View Controller 连接在一起,可以在托管 View Controller 的 prepareForSegue 方法中添加代码,将托管 View Controller 设置为组件 View Controller 的委托(delegate),并且可以保存指向组件的指针查看 Controller ,以便您稍后可以在需要时向其发送消息。

关于swift - 如何模块化和重用部分 View 和 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29931744/

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