我有一个带有两个视图控制器的应用程序。 ViewControllerA是一个空白视图,分配了轻击手势,允许用户在视图上进行制表并在轻击点处创建UITextView。用户可以根据需要创建任意数量的UITextView,然后以编程方式将它们作为子视图添加到视图(ViewControllerA)。

还有一个按钮,允许用户更改文本字体和样式。这将触发一个Segue到第二个视图控制器ViewControllerB,然后它允许用户设置字体,文本大小,颜色等。完成后,用户单击ViewControllerB上的DONE按钮,另一个Segue切换回初始视图(ViewControllerA)。

这一切都很好。除非当用户从ViewControllerB切换回初始视图(ViewControllerA)时,否则将从情节提要中重新加载视图,并且以编程方式添加的子视图消失了。

在视图(ViewControllerA)中,ViewDidLoad和ViewWillAppear都可以正常触发,因此问题似乎是在第一个Segue触发时释放了初始视图,然后在过渡时从情节提要中重新创建了初始视图,但是由于不包含子视图,因此不因为我以编程方式将它们添加到情节提要中。

关于如何解决此问题的最佳实践的任何建议,以便在重新加载主视图(ViewControllerA)时也重新创​​建子视图?

非常感谢您的任何建议!

最佳答案

从这个问题看来,您似乎已经对文本样式视图进行了设置,然后又进行了另一种“返回到原始样式”的设置-那样就行不通了,设置总是创建目标VC的新实例。您应该对文本样式视图进行模态选择,然后关闭模态视图控制器-这将返回到您的原始实例。

10-06 02:56