gpt4 book ai didi

ios - 在 UIViewControllerAnimatedTransitioning 中, "to ViewController"有 View 存在,但 "to View"为 nil

转载 作者:行者123 更新时间:2023-11-28 07:31:36 24 4
gpt4 key购买 nike

我正在学习如何在 View Controller 之间创建自定义(交互式)转换。当我想以模态方式呈现某些内容时,我已经创建了设置。呈现工作正常,但在动画结束时以黑屏告终。

我注意到了一些奇怪的事情:

func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
let fromV = transitionContext.view(forKey: .from)
let toV = transitionContext.view(forKey: .to)

let fromVC = transitionContext.viewController(forKey: .from)
let toVC = transitionContext.viewController(forKey: .to)
//....
}

如我所料,fromVfromVC.view 引用了相同的 View (已在调试器中检查,地址相同)。然而 toVniltoVC.view 有一些(看起来像)有效 View 的有效地址。

这怎么可能?他们不应该总是与相同的值(value)观保持一致吗?

最佳答案

如果你想访问你将使用的toView Controller 的 View

func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
if let toVC = transitionContext.viewController(forKey: .to) {
let toView = toVC.view.snapshotView(afterScreenUpdates: true)
}
//rest of code
}

根据文档

This method very efficiently captures the current rendered appearance of a view and uses it to build a new snapshot view.

希望对你有帮助

关于ios - 在 UIViewControllerAnimatedTransitioning 中, "to ViewController"有 View 存在,但 "to View"为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54504620/

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