У меня есть UINavigationController, UIView которого скользит внизу экрана, когда пользователь нажимает кнопку.
Сразу же после того, как я установил для свойства «скрытого» представления значение NO, представление UINavigationController иногда отображается полностью на месте для одного кадра, как если бы анимация уже была завершена.
Этокод, который показывает / скрывает вид:
- (void)showGUI: (bool)show
{
CATransition *transition = [CATransition animation];
transition.duration = 0.5;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
if (!show)
{
transition.type = kCATransitionReveal;
transition.subtype = kCATransitionFromBottom;
}
else
{
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromTop;
}
[navController.view.superview.layer addAnimation:transition forKey:nil];
navController.view.hidden = !show;
}