скрыть панель навигации по умолчанию в контроллере навигации в ios 5 - PullRequest
2 голосов
/ 26 марта 2012

Я программирую для iOS 5, используя раскадровки. Я пытаюсь создать приложение с контроллером навигации. В моем приложении я хочу, чтобы у некоторых контроллеров представления была панель навигации, а в некоторых - нет.

Я использую следующую ссылку в качестве руководства для ее создания.

Вот как я программно скрываю панель навигации:

В MyAppDelegate я объявил переменную:

UINavigationController *navigationController;

@property (strong, nonatomic) IBOutlet UINavigationController *navigationController;

В моем UIViewController, который является первым UIViewController, я сделал следующее

- (void)viewDidload
{
    [self.navigationController setNavigationBarHidden:YES animated:YES];
    [super viewDidUnload];

    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}

Но это не работает ...

Как мне заставить это работать?

Ответы [ 2 ]

3 голосов
/ 19 апреля 2012

Raj,

Попробуйте добавить эти две функции в свой UIViewController:

- (void) viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:animated];
}

- (void) viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:animated];
}
0 голосов
/ 28 мая 2012

Выберите Navigation Controller в story board, перейдите к attributes inspector, есть флажок под названием Shows Navigation Bar, снимите его.

Если установить setNavigationBarHidden:YES в viewWillAppear:, анимация (скрытие панели навигации) все равно будет отображаться.

В этом главное отличие.

...