2016-03-29 7 views
1

私は2つのビューコントローラ、VCAVCBを持っています。私はVCAからVCBpresentViewController(VCB, animated: true, completion: nil)で移行し、dismissViewControllerAnimated(true, completion: nil)VCBに戻りました。この移行は、TransitionManagerインスタンスで管理されます。VCAVCBのインスタンスは、のインスタンスが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)であるようです。

答えて

0

Appleドキュメントの状態トランジションタイプを変更するには、View Controllerを表示する前にこのプロパティを設定する必要があります。

+1

将来のユーザーのために、この見積もりはhttps://developer.apple.com/documentation/uikit/uiviewcontroller/1621388-modaltransitionstyleからのものです。 –

関連する問題