自从我将设备更新到iOS 8.3后,我无法完成交互式转换.
看来,当我调用cancelInteractiveTransition()or时finishInteractiveTransition(),completion动画completion块的块中包含以下行:
transitionContext.completeTransition(!transitionContext.transitionWasCancelled())
Run Code Online (Sandbox Code Playgroud)
大部分时间都没有被召唤.这会导致整个应用程序停止对触摸和旋转事件做出反应.
我正在使用的子类UIPercentDrivenInteractiveTransition. cancelInteractiveTransition()而finishInteractiveTransition()当其平移手势识别是在该州被称为.Ended或.Cancelled.
这是iOS 8.3中的一个错误(因为这个问题只发生在8.3之后),或者我做错了吗?
尝试覆盖animationDidStop并从那里调用它
override func animationDidStop(anim: CAAnimation!, finished flag: Bool) {
self.transitionContext?.completeTransition(!self.transitionContext!.transitionWasCancelled())
}
Run Code Online (Sandbox Code Playgroud)
我希望对你有帮助!