iOS 8.3 - 交互式转换忽略UIView动画完成块?

vin*_*pun 19 uiview ios swift

自从我将设备更新到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之后),或者我做错了吗?

Ica*_*aro 2

尝试覆盖animationDidStop并从那里调用它

  override func animationDidStop(anim: CAAnimation!, finished flag: Bool) {
    self.transitionContext?.completeTransition(!self.transitionContext!.transitionWasCancelled())
  }
Run Code Online (Sandbox Code Playgroud)

我希望对你有帮助!