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

问题描述 投票:1回答:1

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

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

}

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

ios iphone swift xcode9 uiviewanimationtransition
1个回答
1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.