如何模块化和重用视图和控制器的部分?

时间:2015-04-28 23:33:53

标签: swift ios8 xcode6 modularization

我有一个带导航栏的视图,带有按钮,以及与之关联的操作。有没有办法打包部分视图和控制器,以便我可以将其拖放到其他视图及其代码?当然,将代码保存在一个地方,其中更改反映在使用它的所有页面中。

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

1 个答案:

答案 0 :(得分:0)

这是我的一个宠儿。您正在询问如何模块化和重用视图CONTROLLER的部分,而不是视图。

UIView和UIViewController属于完全不同的对象族。将视图控制器称为视图不会导致混淆。

请返回并修改您的主题和问题正文以使用正确的字词。

编辑:

最简洁的方法可能是使用容器视图和嵌入segue组合视图控制器。您将每组组件作为自己的视图控制器。然后,当您想要在另一个视图控制器中托管视图控制器的内容时​​,请按照以下步骤操作:

  • 在您的组件中创建组件视图控制器的实例 故事板并根据需要进行配置。

  • 将容器视图拖到托管视图控制器和位置 它在你想要的地方。 (记住要实际设置约束 在运行时放在那里。)

  • 从容器视图控制拖动到组件视图 要添加为模块的控制器。

执行此操作时,组件视图控制器将成为构建块,您可以将其放入另一个视图控制器中,并且它可以独立运行。它运行得很好,并且可以做你想要的,代码和视图在一个单元中运行。

这就是它。如果要将托管视图控制器和组件视图控制器连接在一起,可以在托管视图控制器的prepareForSegue方法中添加代码,该方法将托管视图控制器设置为组件视图控制器的委托,并且可以保存指向组件的指针查看控制器,以便您可以在以后发送消息。