переворачивание вида iphone: видоискатели сверху вниз вместо справа налево - PullRequest
1 голос
/ 28 февраля 2010

Я пытаюсь создать приложение, которое находится в режиме Landsscape все время. Я сделал обычные вещи: plist добавил UIInterfaceOrientation / UIInterfaceOrientationLandscapeRight повернул XIB в конструкторе интерфейсов с маленькой стрелкой в ​​верхней части окна.

my code for launching:
- (void)applicationDidFinishLaunching:(UIApplication *)application {    
        [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeRight];
    FlipViewController *flip = [[FlipViewController alloc] initWithNibName:@"FlipViewController" bundle:nil];
    [window addSubview:flip.view];
    [window makeKeyAndVisible];
}

Но когда я пытаюсь сделать «UIViewAnimationTransitionFlipFromLeft», страница переворачивается сверху вниз, а не справа налево. : - /

Это код, который я использую, чтобы перевернуть представления:

[UIView beginAnimations:@"View Flip" context:nil];
    [UIView setAnimationDuration:1.25];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

    UIViewController *coming = nil;
    UIViewController *going = nil;
    UIViewAnimationTransition transition;

    if (self.blueViewController.view.superview == nil) 
    {   
        coming = blueViewController;
        going = yellowViewController;
        transition = UIViewAnimationTransitionFlipFromLeft;
    }
    else
    {
        coming = yellowViewController;
        going = blueViewController;
        transition = UIViewAnimationTransitionFlipFromRight;
    }

    [UIView setAnimationTransition: transition forView:self.view cache:YES];
    [coming viewWillAppear:YES];
    [going viewWillDisappear:YES];
    [going.view removeFromSuperview];
    [self.view insertSubview: coming.view atIndex:0];
    [going viewDidDisappear:YES];
    [coming viewDidAppear:YES];

    [UIView commitAnimations];

«Окно», похоже, упустило тот факт, что оно находится в режиме ландшафта. Хммм. Кто-нибудь может заметить мою ошибку?

1 Ответ

2 голосов
/ 28 февраля 2010

Невозможно с документированными методами.

Вам необходимо использовать CATransition . (Сам CATransition задокументирован, но переворот - нет.)

Чтобы использовать флип-переход, установите type перехода на «oglFlip» и установите subtype на «Слева / Вверх / Справа / Вниз».

...