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?
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 viewDidAppear
VCB
'VCB
s viewDidLoad
ve daha sonra 5 (istenen değerle, OverFullScreen
)' in 0 (.FullScreen
) olduğu görülmektedir.
Gelecekte kullanıcılar için bu alıntı şu adreste bulunmaktadır: https://developer.apple.com/documentation/uikit/uiviewcontroller/1621388-modaltransitionstyle –