У меня есть 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", но я даже не вижу черную панель навигации без текста ... это просто большое пустое пространство.
Помощь очень ценится!