私は2つのビューコントローラ、VCA
とVCB
を持っています。私はVCA
からVCB
へpresentViewController(VCB, animated: true, completion: nil)
で移行し、dismissViewControllerAnimated(true, completion: nil)
でVCB
に戻りました。この移行は、TransitionManager
インスタンスで管理されます。VCA
とVCB
のインスタンスは、のインスタンスがtransitioningDelegate
です。移行中にmodalPresentationStyleを設定できないのはなぜですか?
私はVCB
は私が追加VCB
の初期化子でそうVCA
の上に提示することにしたい:これは動作します
convenience init() {
self.init()
modalPresentationStyle = .OverFullScreen
}
。
しかし、私はVCB
の初期化子からmodalPresentationStyle = .OverFullScreen
を削除し、そして効果が動作しません
func animateTransition(transitionContext: UIViewControllerContextTransitioning) {
let transitionContext: UIViewControllerContextTransitioning!
let toVC = transitionContext.viewControllerForKey(UITransitionContextToViewControllerKey)!
toVC.modalPresentationStyle = .OverFullScreen
// do animation ...
}
を次のようにUIViewControllerAnimatedTransitioning
デリゲートにTransitionManager
クラスでそれを設定しよう。なぜこれが当てはまるのですか?
編集
modalPresentationStyle.rawValue
がS viewDidAppear
'VCB
でのviewDidLoad
し、その後5(希望値、OverFullScreen
')VCB
に0(.FullScreen
)であるようです。
将来のユーザーのために、この見積もりはhttps://developer.apple.com/documentation/uikit/uiviewcontroller/1621388-modaltransitionstyleからのものです。 –