У меня есть UINavigationController.Я сделал VC1 rootViewController и программно загружаю VC2 из VC1, а затем настраиваю анимацию для перехода из VC1 в VC2.Стандарт.Все хорошо и хорошо.
Теперь я хотел бы иметь собственную анимацию между ними, вот так:
В сумме VC1 выдвигается из поля зрения, а VC2 находится под ним.,Точно так же, как стопка бумаги, где вы сдвигаете первый лист (VC1) и, таким образом, открываете лист под (VC2).
Итак, я попробовал следующий код, который вызывается из VC1, чтобы добраться доVC2.Но есть проблемы с ним:
MyVC2 *vctwo = [[[MyVC2 alloc] init] autorelease];
CATransition *transition = [CATransition animation];
transition.duration = 1;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionReveal;
transition.subtype = kCATransitionFromRight;
transition.delegate = self;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
[[self navigationController] pushViewController:vctwo animated:YES];
Проблемы следующие:
- VC2 не фиксируется в фоновом режиме.Это тоже вид слайдов (хотя я указал kCATransitionReveal).Я хочу, чтобы VC2 был полностью зафиксирован в фоновом режиме.
- VC1 исчезает.Я действительно не знаю почему.Я не использовал kCATransitionFade и т. П., Поэтому я не вижу, откуда происходит это затухание.
Любые предложения, почему я не получаю ожидаемых результатов, будут очень благодарны.Извините, если это очевидно, но я пытаюсь сделать это часами и очень расстроился.