Я внедряющих свой собственный пользовательский UIViewController
переход, и когда я выход в отладчик кадр из TO View Controller, я получаю {{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