Панель навигации не закрывает строку состояния на iPhone X - PullRequest
0 голосов
/ 05 июня 2018

У меня есть простой контроллер вида с представлением (картой), прикрепленным к его суперпредставлению.Представление встроено в контроллер навигации, но панель навигации начинается под безопасной областью (под строкой состояния) на iPhone X. В идеале, я хотел бы, чтобы строка находилась под строкой состояния (не под ней), когда отображается наiPhone X. Как я могу это сделать?

enter image description here

Вот как настраивается панель, чтобы сделать ее полупрозрачной:

//Design Set Up
let navBar = UINavigationBar.appearance()
navBar.setBackgroundImage(UIImage(), for: .default)
navBar.backgroundColor = UIColor(displayP3Red: 0, green: 0, blue: 0, alpha: 0.5)

1 Ответ

0 голосов
/ 05 июня 2018

Вы должны встроить контроллер вида в UINavigationController, а не использовать просто UINavigationBar.Таким образом, вы автоматически получите панель навигации с контроллером навигации, и она полностью расширится до верхней части экрана.

https://developer.apple.com/documentation/uikit/uinavigationcontroller

Вы можете добавить ее в раскадровку или, если выВы используете код, например:

let mapViewController = UINavigationController(rootViewController: MapViewController())

(при условии, что ваша карта называется MapViewController)

...