Добавление TabView делает панель навигации не закрывающей безопасную область в SwiftUI - PullRequest
1 голос
/ 30 сентября 2019

При добавлении TabView в мое приложение SwiftUI для iOS панель навигации перестает закрывать метку

Я попытался создать другой файл для реализации TabView (изменение SceneDeletage и т. Д.)

Вот простой код без TabView, который заставляет панель навигации покрывать безопасную область (он же отметка)

import SwiftUI

struct ContentView: View {
    var body: some View {

        NavigationView{
            ScrollView{
                HStack{
                    VStack{
                        ForEach((1...10), id: \.self){_ in
                            Text("Hello")
                            .padding(.leading, 20)
                        }
                    }
                    Spacer()
                    //.padding(.leading, 20)
                }
            }
        .navigationBarTitle("Title Covers Safe Area")
        }

    }
}
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

Вот код с TabView, который заставляет панель навигации НЕ закрывать безопасную область

import SwiftUI

struct ContentView: View {
    var body: some View {

        TabView {
            NavigationView{
                ScrollView{
                    HStack{
                        VStack{
                            ForEach((1...10), id: \.self){_ in
                                Text("Hello")
                            }
                        }
                        Spacer()
                    }
                    .padding(.leading, 20)
                }
                .navigationBarTitle("Doesn't Cover Safe Area")
            }
                .tabItem {
                    Image(systemName: "1.circle")
                    Text("First")
                }.tag(0)
            HStack{
                Spacer()
                VStack{

                    Spacer()
                    Text("Second View")
                        .font(.system(size: 40))
                }

            }

                .tabItem {
                    Image(systemName: "2.circle")
                    Text("Second")
                }.tag(1)
        }

    }
}


struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

1 Ответ

3 голосов
/ 01 октября 2019

Вы можете использовать метод dgeIgnoringSafeArea (_:)

TabView {
  ...
}
.edgesIgnoringSafeArea(.top)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...