UITableView панель навигации "Мерцает" на анимации

У меня есть UIViewController, "переключатель", который будет просто вращать вид от одного к другому.

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

Это действительно не выглядит хорошо, и мне было интересно, если кто-нибудь знал, почему я мог видеть это и как я мог это исправить?

Спасибо,

-D,

РЕДАКТИРОВАТЬ: Добавление некоторого кода по запросу!

Переключатель метода viewDidLoad - в настоящее время инициализация обоих ViewControllers, потому что я думал, что это может помочь

[super viewDidLoad];

LogoView *logoController = [[LogoView alloc] init];
self.logoView = logoController;
[self.view insertSubview:logoView.view atIndex:0];
[logoController release];

MainController *vController = [[MainController alloc] init];
self.controller = vController;
[vController release];

    switchTimer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(switchViews) userInfo:nil repeats:NO];

Метод Switcher switchViews

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

if (self.controller.view.superview == nil)
{
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];
    [controller viewWillAppear:YES];
    [logoView viewWillDisappear:YES];

    [logoView.view removeFromSuperview];
    [self.view insertSubview:controller.view atIndex:0];
    [logoView viewDidDisappear:YES];
    [controller viewDidAppear:YES];
}

[UIView commitAnimations];

Метод MainController viewDidLoad

CGRect frame = CGRectMake(0, 0, 320, 410);

FirstLevelController *controller = [[FirstLevelController alloc] init];

navController = [[UINavigationController alloc] initWithRootViewController:controller];
navController.view.frame = frame;
navController.navigationBar.tintColor = [UIColor blackColor];

[controller release];

[self.view addSubview:navController.view];

Внутри FirstLevelController я просто добавляю элементы в табличное представление... Я пытался добавить navController.title = @"Home", но я даже не вижу черную панель навигации без текста... это просто большое пустое пространство,

Помощь очень ценится!

1 ответ

Решение

Хах! Я изменил "кеш" анимации с ДА на НЕТ, и это исправило! Ура!

Другие вопросы по тегам