представление iPhone, появляющееся позади мультипликации - PullRequest
1 голос
/ 12 февраля 2010

Я установил приложение с несколькими представлениями. Представления могут быть переключены с помощью кнопки в каждом представлении (есть два отдельных действия). Я использую анимацию UIViewAnimationTransitionFlipFromRight, и когда я перехожу от первого к второму виду, то представление, которое я собираюсь открыть, появляется за переворачивающейся анимацией. Я бы хотел, чтобы он был белым. Любая помощь приветствуется.

альтернативный текст http://img35.imageshack.us/img35/9982/picture11wu.png

Это действие, переключающее представления:

    - (IBAction)switchViewsOne:(id)sender
{

if (self.uLViewController == nil)

{

ULViewController *uLController = 

[[ULViewController alloc]

 initWithNibName:@"ULView" 

bundle:nil];

self.uLViewController = uLController;

[uLController release];

}

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

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

    if (uLViewController.view.superview == nil)
    {
        comming = uLViewController;
        going = mainViewController;
        transition = UIViewAnimationTransitionFlipFromLeft;
    }

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


    [UIView commitAnimations];
}

Ответы [ 2 ]

0 голосов
/ 13 февраля 2010

Такая ошибка может быть, если comming.view равен nil

[self.view insertSubview: comming.view atIndex:10];

Проверьте, возможно, ваше перо загружено неправильно

ULViewController *uLController = [[ULViewController alloc] initWithNibName:@"ULView" bundle:nil];
NSLog(@"Loaded controller %@:", uLController);
0 голосов
/ 12 февраля 2010

Вы можете попробовать использовать addSubView, который просто добавляет его в верхнюю часть стека.

...