我有一个iPad应用需要显示纵向和横向的独特布局。我正在使用viewWillTransitionToSize来实现这一点。我有两个容器视图,每个视图都有一个视图控制器,所以我的方法如下所示:
override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
let methodStart = NSDate()
let vc1Size = CGSizeMake(size.width * 0.6, size.height)
let vc2Size = CGSizeMake(size.width * 0.4, size.height)
self.viewController1.viewWillTransitionToSize(vc1Size, withTransitionCoordinator: coordinator)
self.viewController2.viewWillTransitionToSize(vc2Size, withTransitionCoordinator: coordinator)
self.configureSubmitButton()
let methodFinish = NSDate()
let executionTime = methodFinish.timeIntervalSinceDate(methodStart)
print("Execution time: \(executionTime)")
}
我的退出看起来像这样:
Execution time: 0.0536490082740784
所以viewWillTransitionToSize不是罪魁祸首。获得此日志输出后,在旋转动画发生之前存在很长的延迟。我主要想知道在我可以调查的viewWillTransitionToSize之后还有哪些方法正在触发。一旦旋转,布局看起来很好,这只是花费了太多时间。