- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以,我正在使用 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
需要设置为ElasticTransition
和modalPresentationStyle
至.Custom
。但是,如果使用弹性转换将 View Controller 推送到导航 Controller 堆栈上,则只有 navigationController?.delegate
需要设置为ElasticTransition
.
经过一番聊天,@Harish 告诉我他使用了推送转场。然而,prepareForSegue
中的代码是模态呈现 View Controller 时的设置代码。这可能就是UITransitionContextFromViewControllerKey
的原因返回零。所以我相信解决方案是设置 navigationController
的delegate
至ElasticTransition
某处,并删除 prepareForSegue
中的代码.
关于swift - UITransitionContextFromViewControllerKey 返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35946210/
我想添加从 ViewController1 到 ViewController2 的过渡动画。下图显示了 BaseTabBarController 和 TableViewController。 Base
所以,我正在使用 Elastic Transition pod (Cocoapods),当我转换时,我的应用程序崩溃,因为 UITransitionContextFromViewControllerK
我是一名优秀的程序员,十分优秀!