2012-06-25 3 views
0

Я пытаюсь добавить навигационный контроллер в моем приложении, это STH любит:UINavigationController видимость Панели навигации набор не работает

в моем индексной странице контроллере представления, я пытаюсь инициализировать навигационный контроллер, как это:

-(void)viewDidLoad{ 
    ... 
    //allocate a navigation controller. 
    myNavigationController = [[UINavigationController alloc]init]; 
    myNavigationController.delegate = self; 
    myNavigationController.navigationBar.hidden = YES; 
    [self.view addSubview:myNavigationController.view]; 

    [myNavigationController pushViewController:tabViewController animated:YES]; 
    [self presentModalViewController:myNavigationController animated:YES]; 
} 

Здесь контроллер просмотра на индексной странице является контроллером корневого представления моего приложения, здесь это обычный UIViewController.

[myNavigationController pushViewController:tabViewController animated:YES]; 

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

Проблема состоит в следующем:

myNavigationController.navigationBar.hidden = YES; 

, так как я сделать панель навигации невидимым, он не показывает, когда мой пользовательский вид контроллера показывает, но когда я хотел бы перейти на какой-то другой точки зрения контроллер с навигационным контроллером, и я также хочу, чтобы навигационная панель была видимой:

myNavigationController.navigationBar.hidden = NO; 
MyViewController *toSwitchNC = [[MyViewController alloc]init]; 
[myNavigationController pushViewController:toSwitchNC animated:YES]; 

Навигационная панель больше не будет отображаться. Я также попытался поставить:

self.navigationController.navigationBar.hidden = NO 

в MyViewController в viewDidLoad, ViewDidAppear или даже в методе делегата в навигационный контроллер, он не показывал панель навигации ни.

Так что в этом плохого? Почему я сначала инициализировал навигационную панель невидимой, она никогда не будет отображаться снова, даже если я установил скрытый флаг как false?

+0

Привет, Я пытаюсь избавиться от контроллера навигации в своем настроенном представлении вкладки, похоже, теперь работает навигационная навигация. Но что на самом деле происходит? Контроллер навигации моего контроллера указателя отображает мое настроенное представление табуляции, которое также содержит некоторый контроллер навигации, это неправильный путь, который необходимо избегать или какие-либо предложения? – David

ответ

0

Хорошо, у меня это исправлено, удалив контейнер контроллера навигации в моем контроллере просмотра индексной страницы. Это может быть глупый вопрос, так как Apple've официально заявила в документе разработчика, что контроллер просмотра навигации должен быть как можно более прав в стеке представлений. Поскольку IOS - закрытая система, кто знает, что WTH происходит под-за исключением Apple.

Смежные вопросы