类型'AnimationController'不符合协议'UIViewControllerAnimatedTransitioning'

时间:2016-01-29 22:38:18

标签: ios swift swift2 custom-transition

import Foundation
import UIKit

enum TransitionType {
   case Presenting, Dismissing
}

class AnimationController: NSObject, UIViewControllerAnimatedTransitioning {
   var duration: NSTimeInterval
   var isPresenting: Bool
   var originFrame: CGRect

   init(withDuration duration: NSTimeInterval, forTransitionType type: TransitionType, originFrame: CGRect) {
      self.duration = duration
      self.isPresenting = type == .Presenting
      self.originFrame = originFrame

      super.init()
   }

   func transitionDuration(transitionContext: UIViewControllerContextTransitioning?) -> NSTimeInterval {
       return self.duration
   }
}

代码改编自以下教程:

1 个答案:

答案 0 :(得分:1)

这就是错误所说的。该代码尚未完全采用UIViewControllerAnimatedTransitioning协议。您需要实现public func animateTransition(transitionContext: UIViewControllerContextTransitioning),这发生在您链接到的文章的下一个代码块中。