2016-03-29 26 views
1

2 view denetleyicim var, VCA ve VCB. VCA'dan, presentViewController(VCB, animated: true, completion: nil) ile VCB'a geçiş yapıp numaralı telefondan dismissViewControllerAnimated(true, completion: nil) ile geri döndüm. Bu geçiş, VCA ve VCB numaralı TransitionManager örneğiyle, kendi TransitionManager örneğinin kendi transitioningDelegate 'lere sahip olmasıyla yönetilir. Neden geçiş sırasında modalPresentationStyle ayarlayamıyorsunuz?

Ben VCB ben eklemek Başlatıcı VCA böylece VCB yılında 's üstünden sunulacak istiyorum:

convenience init() { 
    self.init() 
    modalPresentationStyle = .OverFullScreen 
} 

Bu çalışır.

Ancak, ben VCB 'ın Başlatıcı gelen modalPresentationStyle = .OverFullScreen kaldırmak ve efekt çalışmıyor

func animateTransition(transitionContext: UIViewControllerContextTransitioning) { 
    let transitionContext: UIViewControllerContextTransitioning! 
    let toVC = transitionContext.viewControllerForKey(UITransitionContextToViewControllerKey)! 
    toVC.modalPresentationStyle = .OverFullScreen 

    // do animation ... 
} 

şöyle UIViewControllerAnimatedTransitioning temsilci TransitionManager sınıfında ayarlamak çalışırsanız. Neden böyle bir durum, lütfen?

Düzenleme

O modalPresentationStyle.rawValue s viewDidAppearVCB 'VCB s viewDidLoad ve daha sonra 5 (istenen değerle, OverFullScreen)' in 0 (.FullScreen) olduğu görülmektedir.

cevap

0

Apple belgelendirme durumları Geçiş türünü değiştirmek için, görünüm denetleyicisini sunmadan önce bu özelliği ayarlamanız gerekir.

+1

Gelecekte kullanıcılar için bu alıntı şu adreste bulunmaktadır: https://developer.apple.com/documentation/uikit/uiviewcontroller/1621388-modaltransitionstyle –

İlgili konular