Предотвратить расширение View Controller под строкой состояния

У меня есть контроллер представления, который является rootVc для контроллера навигации.

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

override func viewWillAppear(_ animated: Bool) {
    self.navigationController?.setNavigationBarHidden(true, animated: false)
}

 override func viewWillDisappear(_ animated: Bool) {
    self.navigationController?.setNavigationBarHidden(false, animated: false)
}

Я в основном скрываю панель навигации в rootVc и показываю ее для всех других контроллеров представления.

Но когда я удаляю NavBar, я вижу, что мой контент расширяется под строкой состояния.

Есть ли способ исправить это?

введите здесь описание изображения


person Mahi Tej Gvp    schedule 18.02.2020    source источник
comment
проверьте безопасную область в вашем коде или UIStoryboard.   -  person Gagan_iOS    schedule 18.02.2020
comment
@Gagan_iOS безопасная зона простирается до верхней части контроллера представления.   -  person Mahi Tej Gvp    schedule 18.02.2020
comment
Я думаю, что этот код делает именно то, что вы написали. Кажется, вам может понадобиться программно обновить ограничения, когда вы удаляете полосу из кода.   -  person Bolat Tleubayev    schedule 18.02.2020
comment
@ Болат-Тлеубаев, так мне нужно добавить поле после удаления панели навигации?   -  person Mahi Tej Gvp    schedule 19.02.2020


Ответы (1)


Вместо установки верхнего ограничения на superView используйте безопасную область. Что-то вроде этого

введите здесь описание изображения

person Manoj    schedule 19.02.2020