@snitron
Учуcь программировать на Android, IOS и Unity.

Как скрыть NavigationBar в SwiftUI на всех устройствах одинаково?

Добрый вечер!
У меня есть следующая иерархия View: SplashView -> MainView.
В SplashView мне не нужен NavigationBar, поэтому я его отключаю:

NavigationView {
        VStack { /* some stuff */}        
    }    
         .navigationBarTitle("", displayMode: .inline)
         .navigationBarHidden(true)
         .edgesIgnoringSafeArea([.top, .bottom])


В MainView мне нужен inline NavigationBar:
NavigationView {
        ZStack{ /* some stuff */ } 
        }.navigationBarTitle("TEST TITLE", displayMode: .inline)
            .navigationBarHidden(false)
            .navigationBarBackButtonHidden(true)
            .navigationBarItems(leading: EmptyView())
            .navigationBarItems(trailing: HStack {
                           Button("Test1") { print("test1")

                           }
                           Button("Test2") {
                               print("test2")
                   }
                       })
        }


В итоге на iPhone 11 я получаю:

5ebc242256a25883414166.png

А на iPhone SE 2nd gen. оно растянуто и с лишними кнопками:

5ebc2460eb817183532513.png

Причём, если ухитриться, можно нажать на кнопку "Back" и попасть снова в SplashView!

Почему это так работает и как это можно исправить?
  • Вопрос задан
  • 357 просмотров
Решения вопроса 1
@snitron Автор вопроса
Учуcь программировать на Android, IOS и Unity.
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы