gpt4 book ai didi

swift - UITransitionContextFromViewControllerKey 返回 nil

转载 作者:行者123 更新时间:2023-11-30 10:05:59 25 4
gpt4 key购买 nike

所以,我正在使用 Elastic Transition pod (Cocoapods),当我转换时,我的应用程序崩溃,因为 UITransitionContextFromViewControllerKey 键为 nil。我真的很困惑为什么这个值会是nil。解决此错误的一些可能原因和解决方案是什么?

下面是我转换到下一个 View Controller 时的一些代码:

func handleTap(sender: AnyObject) {
transition.sticky = true
transition.transformType = .TranslateMid
transition.showShadow = true
transition.edge = .Left
transition.startingPoint = sender.center
performSegueWithIdentifier("mySegue", sender: self)
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
segue.destinationViewController.transitioningDelegate = transition
segue.destinationViewController.modalPresentationStyle = .Custom
}

然后,当它尝试转换时,我的应用程序崩溃,提示这行代码(在弹性转换中)返回 nil:

transitionContext.viewControllerForKey(UITransitionContextFromViewControllerKey)!

最佳答案

根据ElasticTransition Github page ,如果 View Controller 以弹性过渡模态方式呈现,则目标 View Controller 的 transitioningDelegate需要设置为ElasticTransitionmodalPresentationStyle.Custom 。但是,如果使用弹性转换将 View Controller 推送到导航 Controller 堆栈上,则只有 navigationController?.delegate需要设置为ElasticTransition .

经过一番聊天,@Harish 告诉我他使用了推送转场。然而,prepareForSegue中的代码是模态呈现 View Controller 时的设置代码。这可能就是UITransitionContextFromViewControllerKey的原因返回零。所以我相信解决方案是设置 navigationControllerdelegateElasticTransition某处,并删除 prepareForSegue 中的代码.

关于swift - UITransitionContextFromViewControllerKey 返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35946210/

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