0

Есть ли у кого-нибудь идеи, что это не так давно делает пользовательскую флип-анимацию в iOS8, но делает это в iOS7.Пользовательский переход UIViewController в iOS8

В iOS8 я просто получаю представление без анимации, но когда этот взгляд отклоняется , я получаю пользовательский переход с переворотом. Это похоже на то, что он забывает оживить, когда он представлен, но когда он уволен, он вспоминает.

Любая помощь была бы оценена, так как она меня заводила.

- (void) animateTransition:(id <UIViewControllerContextTransitioning>)transitionContext { 

    UIView *containerView = [transitionContext containerView]; 

    UIViewController *fromVC = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey]; 
    [containerView addSubview:fromVC.view]; 

    UIViewController *toVC = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey]; 
    [containerView addSubview:toVC.view]; 

    UIViewAnimationOptions animationOption = ([toVC.presentedViewController isEqual:fromVC])?UIViewAnimationOptionTransitionFlipFromLeft:UIViewAnimationOptionTransitionFlipFromRight; 

    if ([toVC class] == [ClockViewController class]) { 

     [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]; 

    } 

    [UIView transitionFromView:fromVC.view 
         toView:toVC.view 
         duration:0.7f 
         options:animationOption 
        completion:^(BOOL finished){ 
         [transitionContext completeTransition:YES]; 
        }]; 

} 

ответ

0

Приведено исправление для моей проблемы в случае, если у кого-то такая же проблема.

Добавлено [CATransaction commit]; до перехода, и теперь он работает.

  • (пустоты) animateTransition: (ID) transitionContext {

    UIView * containerView = [transitionContext containerView];

    UIViewController * fromVC = [переходContext viewControllerForKey: UITransitionContextFromViewControllerKey]; [containerView addSubview: fromVC.view];

    UIViewController * toVC = [переходContext viewControllerForKey: UITransitionContextToViewControllerKey]; [containerView addSubview: toVC.view];

    UIViewAnimationOptions animationOption = ([toVC.presentedViewController isEqual: fromVC])? UIViewAnimationOptionTransitionFlipFromLeft: UIViewAnimationOptionTransitionFlipFromRight;

    [CATransaction commit];

    [UIView transitionFromView: fromVC.view toView: toVC.view продолжительность: 0.7f опции: animationOption завершение:^(BOOL законченный) { [transitionContext completeTransition: ДА]; }];

}

Смежные вопросы