我有一个 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 之后触发了哪些其他方法。旋转后布局看起来很好,这只是花费了太多时间。