2015-03-20 1 views
-2

эй, ребята, у меня в настоящее время есть дилемма в отношении навигационной панели в моей первой контрольной сцене. Я спрятал его хорошо:Как я ПОСТОЯННО СКРЫТЬ/УДАЛИТЬ панель навигации в моем первом контроллере просмотра?

self.navigationController?.navigationBarHidden = True 

под ViewDidLoad, не зная, что это временное решение. каждый раз, когда кнопка возврата назад в мою сцену контроллера второго взгляда возвращается в сцену домашнего контроллера, навигационная панель снова появляется! ПОМОГИТЕ!

+1

Было бы полезно, если бы вы могли бы разместить пример кода, который воспроизводит проблему. – axblount

ответ

1

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

+0

func viewDidAppear() { self.navigationController? .NavigationBarHidden = true } в этой форме? я просто попытался применить его, и это не сработало :( –

+0

Удостоверьтесь, что вы вызываете 'super.viewWillAppear (анимированный)', когда вы переопределяете viewWillAppear. В противном случае я думаю, что этот код должен работать. –

+0

Теперь я вижу, что вы упомянули 'viewDidAppear' Я думаю, что лучше использовать 'viewWillAppear' –

0

Переместите эту строку кода в метод viewWillAppear.

Я не знаю эквивалент Swift, но сделать это в viewWillAppear:

[self.navigationController.navigationBar setHidden:YES] 
+0

функ viewDidAppear() { self.navigationController? .navigationBarHidden = истина } в этой форме? она не работает :( –

+0

@RobertTillman проверить мое редактирование - не уверен в эквивалентном коде Swift – JustAnotherCoder

+0

это сработало! спасибо! –

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