2016-01-29 55 views
-1
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 
    } 
} 

代码改编自下面的教程:类型 'AnimationController' 不符合协议 'UIViewControllerAnimatedTransitioning'

+0

始终是一个很好的提示命令+点击委托内部,看看该协议强制哪些功能,没有标记为“可选”,看看有什么缺失 –

回答

1

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

相关问题