为何在旋转应用程序时在所有视图控制器中调用viewWillTransition方法?

时间:2018-03-01 08:47:08

标签: ios iphone swift xcode9 uiviewanimationtransition

我的应用程序是基于标签的导航。我在iOS11上使用Xcode9。为了支持横向/纵向兼容性,我在所有viewControllers中使用以下方法。

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
    super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)

}

但是当我在第一个视图控制器中旋转应用程序时,会自动调用所有其他视图控制器中的 viewWillTransition 方法。 如何解决这个问题?请帮帮我

1 个答案:

答案 0 :(得分:1)

它正在调用viewWillTransition方法,因为那时所有的选项卡视图控制器都在内存中。

您可以添加对当前视图控制器的检查,并仅在它是正确的视图控制器时更新它。

调用viewWillAppear方法时使布尔值为true,并在调用viewWillDisappear方法时将其设为false。