EPGLTransitionView - PullRequest
       30

EPGLTransitionView

0 голосов
/ 25 июня 2011

Большинству из вас следует знать классный EPGLTransitionView для хранилища флип-пейджинга в репозитории github:

https://github.com/epatel/EPGLTransitionView

Это сделано в opengl, но работает только в одном ландшафтном направлении.

Кто-нибудь знает или может дать мне совет, как я могу легко реализовать остальные ориентации отклонения?

спасибо,

1 Ответ

0 голосов
/ 08 февраля 2012

EPGLTransitionView использует FlipTransitions для создания анимации.Здесь ориентация жестко запрограммирована, вам нужно изменить это на текущее устройство ориентации.

Перезаписать метод setupTransition классов FlipForward и FlipBackward:

- (void)setupTransition {
NSUInteger rotationFactor = 0;
UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
switch (orientation) {
    case UIInterfaceOrientationPortrait:
        rotationFactor = 0;
        break;
    case UIInterfaceOrientationLandscapeRight:
        rotationFactor = 90;
        break;
    case UIInterfaceOrientationPortraitUpsideDown:
        rotationFactor = 180;
        break;
    case UIInterfaceOrientationLandscapeLeft:
        rotationFactor = 270;
        break;
    default:
        break;
}
// Setup matrices
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glRotatef(rotationFactor, 0, 0, -1);
glFrustumf(-0.1, 0.1, -0.1333, 0.1333, 0.4, 100.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();    
glEnable(GL_CULL_FACE);
f = 0;}
...