- Do not pass
truetoUIView.snapshotView(afterScreenUpdates:)when create a snapshot for animated transition object (falseis fine). - Don't call
animator.startAnimation()oranimator.pauseAnimator()instartInteractiveTransition(_:) - If
interruptibleAnimator(using:)is implemented,UINavigationControllerwill observefractionCompletefrom the returned animator object (not confirmed but very likely) and will animate the navigation bar accordingly to that value. CallingUIViewControllerContextTransitioning.updateInteractiveTransition(_:)will almost have no effect on the navigation bar animation (but you should call it anyway). - If
interruptibleAnimator(using:)is not implemented,UINavigationControllerwill use values that are passed toUIViewControllerContextTransitioning.updateInteractiveTransition(_:)to animate the navigation bar.
- You cannot set the height of
UINavigationBarto something other than44.UINavigationBarwill kindly set the height of itself back. Of course you can force this afterviewDidLayoutSubviewsfor example, but you'll get jumpy transition animation.