我正在学习开发iOS应用程序,目前我有4个视图控制器。

的第一个viewController 中,我使用了 viewWillTransition 方法来在运行时调整UI。

再次在的第4个ViewController 中,我尝试使用方法 viewWillTransition ,但是没有在那里调用。

当我在的第一个控制器中对方法(viewWillTransition)进行注释时,它神奇地开始在的第四个viewController 中工作。所以我得出的结论是 viewWillTransition 只能在一个viewController中实现,但是我需要在多个地方使用它。

解决方法是什么?我该如何解决?
我正在使用Swift4和Xcode9。

最佳答案

只是重新发表我的评论作为答案,

您必须在实现super的某个位置调用viewWillTransition(to: with:)。通常是第一行。

它看起来应该像这样:

super.viewWillTransition(to: size, with: coordinator)

这将允许 super 视图将此方法类传递给其所有子视图。因此,如果UIViewController中包含UITabBarController,则在super上调用此方法将允许所有其他选项卡接收此方法调用。

关于ios - 在多个 Controller 中未调用viewWIllTransition,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48849313/

10-10 01:11