Глюк при скольжении в UIView с помощью kCATransitionMoveIn - PullRequest
0 голосов
/ 06 января 2011

У меня есть 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;
}

1 Ответ

2 голосов
/ 19 июля 2011

CATransition анимация применяется, когда слои добавляются / удаляются из слоя, к которому вы добавляете анимацию. Если переключение скрытого свойства не работает, попробуйте вместо этого удалить представление.

...