Как скрыть строку состояния в приложении для iOS, не вызывая скачок UINavigationBar? - PullRequest
0 голосов
/ 09 июня 2018

У меня есть контроллер представления, которому нужно скрыть строку состояния перед тем, как представить модал и после того, как этот модал отклонен.

Это не так просто, как переопределение prefersStatusBarHidden, а затем установка modalPresentationCapturesStatusBarAppearance, потому что этотакже вызовет скачок с учетом того, что я представляю в текущем контексте (модал - это раскрывающийся список для отклонения).

Рассмотрим в качестве примера историю UX в Instagram.При нажатии на историю вы фактически видите, как строка состояния исчезает до того, как будет представлен модальный сюжет.Затем, когда вы тянете историю вниз, чтобы отменить ее, контроллер модального представления фактически должен быть полностью отклонен, прежде чем они снова отобразят строку состояния.

Первоначально я реализовал пользовательскую строку состояния, которая выполняла бы множество приемов для поддержания правильнойразмер и положение, учитывая комбинации устройств / iOS (iOS 10 и 11 + iPhone X и не iPhone X), но это оказалось очень болезненным, если я не обнаружил устройство и не жестко запрограммировал размеры безопасной области / руководства по разметке.Поэтому в настоящее время я пытаюсь сделать это с помощью стандартной UINavigationBar.

Есть идеи, как это возможно?

...