首页 > 解决方案 > SwiftUI HStack 不会移到最顶端?

问题描述

我有一个包含两个组件的 Hstack。一个是下拉菜单,另一个是“忘记密码”页面的导航链接。我不知道为什么它不会一直到页面顶部。

我尝试在 HStack() 代码的最底部(但在边界内)插入 Spacer(),根本不会移动。我尝试在下面放置其他对象和文本,看看它是否会在新对象下方用 Spacer() 向上推,仍然不会让步。

var body: some View {

    VStack{
        NavigationView{

        HStack{
            DropDownNewUser()
            Spacer()
            NavigationLink(destination: ForgotPasswordView()) {
                Image(systemName: "questionmark")
                    .padding(15)
                    .background(lightgold)
                    .cornerRadius(50)
                    .foregroundColor(.white)
            }
        }.padding(10).edgesIgnoringSafeArea(.all)
    }
}

在此处输入图像描述

标签: iosswiftuiswiftui-navigationlinkhstackios-navigationview

解决方案


放入VStack里面Spacer,如下图

var body: some View {
  NavigationView{
     VStack{          // << here !!
        HStack{
            DropDownNewUser()
            Spacer()
            NavigationLink(destination: ForgotPasswordView()) {
                Image(systemName: "questionmark")
                    .padding(15)
                    .background(lightgold)
                    .cornerRadius(50)
                    .foregroundColor(.white)
            }
        }.padding(10).edgesIgnoringSafeArea(.all)
        Spacer()       // << here !!
    }
  }
}

推荐阅读