Мне нужно показать снимок вьюшки во время анимации, но когда я запускаю этот код, получается черный (прозрачный) экран. Снимок добавлен в containerView, выставлены корректные фреймы, isHidden = false, opaque = true.
В отладчике слоев экрана экран на переднем плане, но черный (прозрачный).
В containerView subviews он один присудствует:
[<_UIReplicantView: 0x7ff1f34138a0; frame = (0 0; 375 667); layer = <_UIReplicantLayer: 0x600000bb57a0>>] Properties: Opaque On Hidden Off
В прозрачном NavigationBar виден розовый цвет, значит слой есть, но конкретно в части отображения экрана - не отображается.
ps Эта проблема только в NavigationController, с обычным контроллером все работает как ожидается.
func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
guard let fromVC = transitionContext.viewController(forKey: .from),
let fromView = fromVC.view,
let toVC = transitionContext.viewController(forKey: .to),
let toView = toVC.view
else {
return
}
let containerView = transitionContext.containerView
// If remove this, toSnapshot trasparent (but in attributes alpha=1 transparent=0 opaque=false)
fromView.removeFromSuperview()
let toSnapshot = toView.snapshotView(afterScreenUpdates: true)!
containerView.addSubview(toSnapshot)
// Pritingig
print(containerView.subviews)
//transitionContext.completeTransition(!transitionContext.transitionWasCancelled)
}