как вывести еще один экран поверх текущего вида, iphone - PullRequest
0 голосов
/ 01 марта 2012

При воспроизведении музыки на iphone на главном экране с названием «Song» в левом верхнем углу находится кнопка Stored, а в правом верхнем углу - «Now Playing».Если мы нажмем «Магазин», появится анимация, показывающая вид магазина на главном экране.Мой вопрос, как мы можем сделать такую ​​анимацию.Любые комментарии приветствуются здесь.Спасибо

1 Ответ

2 голосов
/ 01 марта 2012

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

Допустим, у вас есть два представления, которые вы хотите переключить.У вас есть несколько различных вариантов анимации их перехода:

  • Использование стандартных встроенных анимаций для переключения видов (обычно это либо UINaivationController, либо presentModalViewController: animated:).
  • Использование неявных анимаций в представлениях.Это несложно, нарушает парадигму Model-View-Controller, если оба представления не управляются одним и тем же контроллером представления.
  • Используйте анимацию Core Animation в представлениях CALayer.Это также нарушает MVC.

По мере перемещения по списку вы получаете больший контроль над анимацией, но также должны выполнять больше работы.Чтобы воссоздать интересующую вас анимацию, вам придется использовать последний вариант, поскольку анимация трехмерная и довольно сложная.

Чтобы узнать больше о том, как переходить из одного вида в другой с помощью Core Animationпосмотрите на этот пример на github .Это даст вам представление о том, что происходит, и укажет правильное направление для создания эффекта, который вы ищете.

...