Я занят пользовательских анимационного перехода между UIViewControllers и мне нравится UIView, чтобы прыгать, а затем заполняют пространство, подобное следующему скриншоту:Как создать пользовательскую функцию синхронизации?
В настоящее время существует не «Option» Я мог бы создать такой эффект. Теперь я мог бы создать анимацию ключевого кадра с одним ключом наверху и одним в центре, но это не будет чувствовать себя действительно естественным, оно будет чувствовать себя роботизированным.
Как можно подойти к этому?
ИСТОЧНИК (ПОКА)
- (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext
{
UIViewController *fromVC = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
UIViewController *toVC = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
UIView *container = [transitionContext containerView];
if ([fromVC isEqual:self])
{
[_activeCardView.superview bringSubviewToFront:_activeCardView];
[UIView animateKeyframesWithDuration:[self transitionDuration:transitionContext]
delay:0.0
options:UIViewKeyframeAnimationOptionCalculationModeCubic
animations:^{
[_activeCardView setFrame:CGRectMake(0.0, 0.0, toVC.view.bounds.size.width, toVC.view.bounds.size.height)];
}
completion:^(BOOL finished){
[container addSubview:toVC.view];
[transitionContext completeTransition:YES];
}];
}
else
{
[container addSubview:toVC.view];
[UIView animateWithDuration:[self transitionDuration:transitionContext]
animations:^{
[_activeCardView setFrame:_basicCardFrame];
}
completion:^(BOOL finished){
[transitionContext completeTransition:YES];
}];
}
}
Это может сработать, сделать анимацию непринужденной и облегчить, может дать иллюзию искривленного ускорения. Я собираюсь попробовать это. – Mark