我正在實現我自己的自定義UIViewController
轉換,並且當我向調試器輸出TO視圖控制器的幀時,我收到初始幀和最終幀的{{0, 0}, {0, 0}}
。我認爲上下文中的方法應該顯示最終轉換之後的預期幀,以及轉換之前的初始幀。UIViewControllerContext initalFrameForViewController&finalFrameForViewController爲所有值顯示0
這是應該如何工作?
-(void)startInteractiveTransition:(id<UIViewControllerContextTransitioning>)transitionContext{
UIViewController *fromVC = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
UIViewController *toVC = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
CGRect initialToFrame = [transitionContext initialFrameForViewController:toVC];
CGRect finalToFrame = [transitionContext finalFrameForViewController:toVC];
NSLog(@"initialToFrame: %@, finalToFrame: %@", NSStringFromCGRect(initialToFrame), NSStringFromCGRect(finalToFrame));
}
調試器表示: initialToFrame: {{0, 0}, {0, 0}}, finalToFrame: {{0, 0}, {0, 0}}
另外,調試器也呈現出以下警告。這是否會影響錯誤?
Presenting view controllers on detached view controllers is discouraged
文檔說,當視圖尚未顯示在屏幕上或者在轉換過程中完全覆蓋時,這些方法可以返回'CGRectZero'。也許其中之一就是你的情況。 –
我有同樣的問題,並且我沒有您收到的調試消息。 – bogardon
set'modalPresentationStyle = UIModalPresentationFullScreen;' – bogardon