如何使用界面生成器动态更改视图控制器的类

Posted

技术标签:

【中文标题】如何使用界面生成器动态更改视图控制器的类【英文标题】:How to change class dynamically for view controller using interface builder 【发布时间】:2018-03-14 05:43:51 【问题描述】:

同一个设计文件有不同的条件。我不能在同一个类文件中使用 if-else 来区分它们。因为管理所有条件都是困难的。有什么方法可以在动态时间更改课程。

【问题讨论】:

在此处查看如何使用 NIB 文件进行操作。 ***.com/a/29147012/4543629 看这里,用 Storyboard 来做。 ***.com/a/29220057/4543629 【参考方案1】:

是的,我们可以使用 Xib 设置类。但是根据我的研究,我没有找到任何动态更改情节提要类的方法。我找到了其他重用视图的方法,例如使用容器视图。以下链接显示了我们如何重用情节提要视图。 Diego Lavalle describe it on medium.

您可以在here.阅读有关容器视图的信息

【讨论】:

【参考方案2】:

我认为您可以使用主视图控制器,并且可以根据某些条件将不同的视图控制器加载为子视图控制器。

例如,在主视图控制器中,您可以使用 UIsegmentedControl,并且根据用户选择的选项,您可以显示不同的视图控制器。

请参阅以下内容以实现相同的操作。

https://medium.com/@Dougly/creating-a-custom-view-controller-navigation-interface-programmatically-swift-3-1-8c9e582cdb30

【讨论】:

以上是关于如何使用界面生成器动态更改视图控制器的类的主要内容,如果未能解决你的问题,请参考以下文章

表视图控制器问题

模式更改时如何在视图中心自动设置文本字段和按钮?

XCUITest 和动态生成的视图

如何在不使用界面生成器的情况下将视图与控制器分离

IOS 如何更改现有 UI 以使用新的导航控制器

如何在界面生成器的导航控制器中调整子视图的大小