UIViewController, покрывающий UINavigationBar - PullRequest
0 голосов
/ 20 февраля 2011

У меня есть UITabBarController с 2 элементами, где каждый элемент указывает на контроллер представления типа Navigation Controller.

Второй элемент - это страница входа в мой веб-сервис.

Пользователь, который не вошел в систему, увидит страницу входа -> " LoginViewController ".

Если пользователь уже вошел в систему, там будет другое представление -> " LoggedViewController ".

При запуске в моем AppDelegate я проверяю, вошел ли пользователь в систему или нужно войти в систему, и я меняю представления.

if (!logged) {
LoginViewController * nextView = [[[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil] autorelease];

NSMutableArray * tabBarRootViews = [[NSMutableArray alloc] initWithArray:self.tabBarController.viewControllers];

[tabBarRootViews replaceObjectAtIndex:1 withObject:nextView];

[self.tabBarController setViewControllers:tabBarRootViews animated:YES];
} else {
// Same if the user is logged only diff view
}

Когда представление отображается, оно перекрывает UINavigationBar. Я полагаю, что проблема заключается в том, что я пытаюсь заменить UINavigationController на UIViewController, но я не могу разобраться в этой проблеме.

  1. Есть идеи, как это решить? (Я хочу видеть и UITabBar, и UINavigationBar, и UIViewController посередине)
  2. Это правильный способ изменить ViewControllers? Должен ли я использовать PresentModalView вместо?

Спасибо!

1 Ответ

0 голосов
/ 20 февраля 2011

Я исправил это, сохранив UINavigationController как есть и выдвинул контроллер представления в соответствии с зарегистрированным логическим значением.

...