SwiftUI NavigationView не умещается на экране по вертикали - PullRequest
1 голос
/ 07 мая 2020

не может заставить NavigationView полностью расширить направление Y. Пробовал .edgesIgnoringSafeArea (.all) и все варианты .frame (). Preview Provider показывает, что все круто, а вот Симулятор и реальное устройство показывают обратное. (Фотографии прилагаются)

Код:

import SwiftUI
struct ContentView: View {
        var body: some View {
        NavigationView{
            ZStack{
                Color.blue
                VStack{
                    Text("Hello, World!")
                        .foregroundColor(Color.blue)
                        .fontWeight(.bold)
                        .font(.system(size: 36))
                }
            }
            .navigationBarHidden(true)
            .navigationBarTitle("")
            .navigationBarBackButtonHidden(true)
            .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity, alignment: .center)
            .edgesIgnoringSafeArea(.all)
        }
    }
}

enter image description here

Ответы [ 2 ]

1 голос
/ 08 мая 2020

Я наконец понял это. Проблема не имеет ничего общего с NavigationView или каким-либо другим представлением. Оказалось, дело в обязательном наличии в проекте xib-файла (например, Launch Screen). В вопросе я не упомянул, что удалил все файлы .storyboard. Вот ссылка, чтобы узнать больше:

Мой вопрос был неудачным, извините.

1 голос
/ 08 мая 2020

Хорошо, я не вижу причин, почему это должно не работать, но ... попробуйте изменить расположение модификаторов, как показано ниже

NavigationView{
    ZStack{
        Color.blue
        VStack{
            Text("Hello, World!")
                .foregroundColor(Color.blue)
                .fontWeight(.bold)
                .font(.system(size: 36))
        }
    }
    .navigationBarHidden(true)
    .navigationBarTitle("")
    .navigationBarBackButtonHidden(true)
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
.edgesIgnoringSafeArea(.all)

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