Подтвердить что ты не робот

IOS 8.3 - Интерактивные переходы игнорируют блок завершения анимации UIView?

С тех пор как я обновил свое устройство до iOS 8.3, мне не удалось получить интерактивный переход для завершения.

Похоже, что когда я вызываю cancelInteractiveTransition() или finishInteractiveTransition(), блок completion в блоке аниматора completion, который содержит строку:

transitionContext.completeTransition(!transitionContext.transitionWasCancelled())

не вызывается в большинстве случаев. Это заставляет все приложение перестать реагировать на события касания и вращения.

Я использую подкласс UIPercentDrivenInteractiveTransition. cancelInteractiveTransition() и finishInteractiveTransition() вызывается, когда распознающее его распознавание жеста находится в состоянии .Ended или .Cancelled.

Является ли это ошибкой в ​​iOS 8.3 (так как эта проблема произошла со мной после 8.3), или я делаю это неправильно?

4b9b3361

Ответ 1

Попробуйте переопределить animationDidStop и вызвать его оттуда

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

Я надеюсь, что вам помогут!