解包viewForKey(UITransitionContextFromViewKey)时的Nil(Swift)

前端之家收集整理的这篇文章主要介绍了解包viewForKey(UITransitionContextFromViewKey)时的Nil(Swift)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试自定义过渡动画.我创建了一个符合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的框架时遇到错误.它试图强行解开零时崩溃.我在这做错了什么?为什么我的fromView没有?

如果其他人遇到此问题,请找到答案.我有myViewController.modalPresentationStyle = .Custom.出于某种原因,这似乎是一个错误,并导致它崩溃.当设置transitionContext.completeTransition(true)时,也不会从容器视图中正确删除fromView控制器.只需删除自定义演示文稿样式行即可.

猜你在找的Swift相关文章