Как убедиться, что просмотр работает как в альбомном, так и в портретном режиме с помощью SwiftUI

#swiftui

#swiftui

Вопрос:

Я новичок в SwiftUI и пишу простое приложение для разделения аренды. У меня есть следующий код.

 var body: some View {
        NavigationView {
            GeometryReader { bounds in
                VStack(alignment: .center){
                    Text("Welcome to Fair Rent")
                        .font(Font.system(size: 30, design: .rounded))
                        .fontWeight(.bold)
                        .frame(width: nil)
                    Image(systemName: "person.3.fill")
                        .font(.largeTitle)
                        .padding(2)
                    Text("How many people do you live with?")
                        .font(Font.system(size:20, design: .rounded))
                        .multilineTextAlignment(.center)
                        .lineLimit(nil)
                        .padding(18.0)
                    NavigationLink(destination: FairRentView(viewModel: FairRentViewModel(Amounts(), housemates: 1)))
                    {
                        Text("      1 other person")
                            .styledLinkLabel(with: gradient)
                    }
                    NavigationLink(destination: FairRentView(viewModel: FairRentViewModel(Amounts(), housemates: 2)))
                    {
                        Text("      2 other people")
                            .styledLinkLabel(with: gradient)
                    }
                    NavigationLink(destination: FairRentView(viewModel: FairRentViewModel(Amounts(), housemates: 3)))
                    {
                        Text("      3 other people")
                            .styledLinkLabel(with: gradient)
                    }
                    NavigationLink(destination: FairRentView(viewModel: FairRentViewModel(Amounts(), housemates: 4)))
                    {
                        Text("      4 other people")
                            .styledLinkLabel(with: gradient)
                    }
                    NavigationLink(destination: FairRentView(viewModel: FairRentViewModel(Amounts(), housemates: 5)))
                    {
                        Text("      5 other people")
                            .styledLinkLabel(with: gradient)
                    }
                    NavigationLink(destination: FairRentView(viewModel: FairRentViewModel(Amounts(), housemates: 6)))
                    {
                        Text("      6 other people")
                            .styledLinkLabel(with: gradient)
                    }
                }.frame(width: bounds.size.width, height: bounds.size.height)
            }
        }.navigationBarTitle("Fair Rent", displayMode: .inline)
        .navigationViewStyle(StackNavigationViewStyle())
    }
}
 

Это отлично работает в портретном режиме, но не для альбомной ориентации

и я не могу прокрутить вниз, чтобы выбрать все кнопки.

Может кто-нибудь, пожалуйста, указать, где я здесь ошибся?

Ответ №1:

VStacks не прокручиваются. Поместите VStack в ScrollView.