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
是當前可見的視圖控制器!
有什麼想法?