Как сделать UIViewAnimationTransitionCurlUp в обратном направлении? - PullRequest
2 голосов
/ 20 апреля 2010

Я работаю над приложением, которое позволяет переключать интерфейс при некоторых обстоятельствах. Обе горизонтальной ориентации должны поддерживаться (ландшафтная левая и правая). Изменение устройства и изменение ориентации работает нормально, однако, когда в ландшафтном режиме приложение позволяет перейти на другой экран с помощью эффекта UIViewAnimationTransitionCurlUp, а затем вернуться с UIViewAnimationTransitionCurlDown.

Это прекрасно работает, когда ориентация в альбомной ориентации влево (сверните страницу вверх из левого нижнего угла, а затем назад). Но когда в альбомной ориентации вправо, координаты меняются местами - в этом случае нижний левый угол фактически является правым верхним, поэтому эффект перехода анимации также меняется на противоположный, что нежелательно.

Есть ли какой-нибудь способ, как преобразовать этот вид анимации, чтобы он выглядел одинаково в обеих ориентациях, или каким-то образом, как создать этот эффект "вручную" (возможно, с помощью Core Animation?).

Спасибо за любой совет по этому вопросу.

1 Ответ

0 голосов
/ 27 июня 2012

Направление перехода всегда задается в соответствии с кнопкой «Домой», то есть в каждой ориентации измеряется вверх / вниз / вправо / влево в соответствии с кнопкой «Домой».Если вы хотите иметь направление перехода в одном направлении в соответствии с ориентацией устройства, вы должны использовать условия для объявления направления для каждой из ориентаций:

  UIDeviceOrientation currentOrientation = [[UIDevice currentDevice] orientation];


if (UIDeviceOrientationIsPortrait(currentOrientation))
{

}

else if (UIDeviceOrientationIsLandscape(currentOrientation))
{

}

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

PS ПРОСТО ПОЗДНО ОТВЕТ!: - /

...