首页 > 解决方案 > 如何将入职视图显示为工作表?

问题描述

我正在尝试将我的入职视图显示为一张纸。这里有人可以帮助我吗?

这是它现在的样子: 入职

我希望它从上到下显示为一张纸。我试图这样做,但它不起作用。有针对这个的解决方法吗?

这是代码:

登录视图

import SwiftUI

struct LoginView: View {
    
    @AppStorage("needsAppOnboarding") private var needsAppOnboarding: Bool = false
    
    var body: some View {
        Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
            .sheet(isPresented: $needsAppOnboarding) {
                OnboardingView()
            }
    }
}

struct LoginView_Previews: PreviewProvider {
    static var previews: some View {
        LoginView()
    }
}

入职视图

import SwiftUI

struct OnboardingView: View {
    
    var body: some View {
            VStack(spacing: 20) {
                Spacer()
                Image("wulkanowy-svg")
                    .resizable()
                    .frame(width: 200, height: 200, alignment: .top)
                    .foregroundColor(Color("OnboardingColor"))
                VStack(spacing: 20) {
                    Text("onboarding.description.title")
                        .font(.headline)
                        .multilineTextAlignment(.center)
                    Text("onboarding.description.content")
                        .font(.subheadline)
                        .multilineTextAlignment(.center)
                }
                .padding(.horizontal, 20)
                Spacer()
                OnboardingButtonView()
                    .padding()
            }
    }
}

struct WulkanowyCardView_Previews: PreviewProvider {
    static var previews: some View {
        Group {
            OnboardingView().previewLayout(.fixed(width: 320, height: 640))
        }
    }
}

入职按钮视图

import SwiftUI

struct OnboardingButtonView: View {
    
    @AppStorage("needsAppOnboarding") var needsAppOnboarding: Bool = true
    
    var body: some View {
        Button(action: {
            needsAppOnboarding = false
        }, label: {
            Text("onboarding.continue")
        })
        .padding(10)
        .frame(minWidth: 0, maxWidth: .infinity)
        .background(Color("OnboardingColor"))
        .foregroundColor(.white)
        .font(.title)
        .cornerRadius(20)
    }
}

struct OnboardingButtonView_Previews: PreviewProvider {
    static var previews: some View {
        OnboardingButtonView()
            .previewLayout(.sizeThatFits)
    }
}

标签: iosswiftswiftui

解决方案


推荐阅读