0
我正在做一个自定义视图控制器转换,其中呈现的视图控制器detailVC
在解散时按比例缩小。snapshotViewAfterScreenUpdates返回iPhone上的空白图像,但不在iPad上
我选择的过程如下:
- 快照
detailVC.view
,将其添加到转型背景下的containerView
- 隐藏
detailVC.view
- 比例放倒的快照。
下面的代码:
func animateTransition(transitionContext: UIViewControllerContextTransitioning) {
let detailVC = transitionContext.viewControllerForKey(UITransitionContextFromViewControllerKey) as? DetailViewController
containerView.addSubview(detailVC.view)
detailVC.view.frame = containerView.frame
let detailVCSnapshot = detailVC.view.snapshotViewAfterScreenUpdates(true)
containerView.addSubview(detailVCSnapshot)
detailVC.view.hidden = true
...
}
奇怪的是,这非常适用于iPad,但不能在iPhone上。在iPhone上,detailVCSnapshot
是完全透明的。
其他答案(1,2)建议确保视图已被绘制,但事实确实如此,因为detailVC
是当前可见的视图控制器!
有什么想法?