作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试制作自定义过渡动画。我创建了一个符合 UIViewControllerAnimatedTransitioning
的动画对象:
import UIKit
class ViewControllerAnimator: NSObject, UIViewControllerAnimatedTransitioning {
let duration = 1.0
func transitionDuration(transitionContext: UIViewControllerContextTransitioning?) -> NSTimeInterval {
return duration
}
func animateTransition(transitionContext: UIViewControllerContextTransitioning) {
let fromView = transitionContext.viewForKey(UITransitionContextFromViewKey)!
//Animate out
UIView.animateWithDuration(duration, animations: { () -> Void in
fromView.frame.origin.x -= 200
}) { (Bool) -> Void in
transitionContext.completeTransition(true)
}
}
}
尝试设置 fromView
的框架时出现错误。它在试图强制解包 nil 时崩溃。我在这里做错了什么?为什么我的 fromView 是 nil?
最佳答案
如果其他人遇到此问题,请找到此问题的答案。我有 myViewController.modalPresentationStyle = .Custom
。由于某种原因,这似乎是一个错误并导致它崩溃。当 transitionContext.completeTransition(true)
设置时,fromView Controller 也没有从容器 View 中正确移除。只需删除自定义演示样式行即可。
关于swift - 展开 viewForKey(UITransitionContextFromViewKey) 时为零 (Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36123211/
我正在尝试制作自定义过渡动画。我创建了一个符合 UIViewControllerAnimatedTransitioning 的动画对象: import UIKit class ViewControll
我遇到了一个问题: 当我尝试覆盖方法 startInteractiveTransition: 时,我尝试保存 transitionContext,并获取 FromVC 和 ToVC来自 transit
我是一名优秀的程序员,十分优秀!