gpt4 book ai didi

swift - 转换后 subview 转换调整大小

转载 作者:搜寻专家 更新时间:2023-10-31 08:04:11 25 4
gpt4 key购买 nike

我有一个容器 View Controller 和 subview Controller (类似于 UITabViewController)。在一个 subview Controller 的 View 和另一个 subview Controller 的 View 之间转换时,我使用:

let oldView = // get reference to old view
let newView = // get reference to new view
UIView.transition(from: oldView!, to: newView!, duration: 0.3,
options: .transitionCrossDissolve, completion: nil)

这里的问题是,newView 的大小调整发生在过渡动画完成之后,这看起来很不雅观。

只有当新的 subview Controller 第一次加载时才会发生这种不良行为。看来viewDidLayoutSubviews这个方法是在transition之后才调用的。

如何在转换之前而不是之后调整 newView 的大小。

提前致谢。

最佳答案

在你的 ViewController 覆盖 func viewWillTransition所以它会是这样的

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
let oldView = // get reference to old view
let newView = // get reference to new view
UIView.transition(from: oldView!, to: newView!, duration: 0.3,
options: .transitionCrossDissolve, completion: nil)

}

关于swift - 转换后 subview 转换调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44351623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com