swift - 如何将 View 的尾部对齐方式与其父级的垂直轴对齐?

标签 swift swiftui

我正在尝试使用 SwiftUI 进行以下布局。 screenshot

表单标签的trailing alignment 与父 View 的中心对齐。同样,TextFields 的前导对齐方式也与父 View 的中心对齐。

我有以下代码-

        HStack {
            Spacer()
            VStack {
                HStack {
                    Spacer()
                    Text("Name")
                    TextField("", text: .constant(""))
                        .textFieldStyle(RoundedBorderTextFieldStyle())
                        .frame(maxWidth: 100)
                }

                HStack {
                    Spacer()
                    Text("Adress")
                    TextField("", text: .constant(""))
                        .textFieldStyle(RoundedBorderTextFieldStyle())
                        .frame(maxWidth: 100)
                }

                HStack {
                    Spacer()
                    Text("Short Description")
                    TextField("", text: .constant(""))
                        .textFieldStyle(RoundedBorderTextFieldStyle())
                        .frame(maxWidth: 100)
                }
            }
            .layoutPriority(1)
            Spacer()
        }

结果

iphone

最佳答案

我现在没有Xcode 但是为什么你不能把所有的文本都放到一个VstackTextField 里面一个单独的 Vstack?像这样的东西

   HStack {
        HStack {        
            VStack(alignment: .trailing) {
                Spacer()
                Text("Name")
                Text("Adress")
                Text("Short Description")

            }

            VStack{

                BorderedTextField(placeholder: "", text: .constant(""))
                    .frame(maxWidth: 100)
                BorderedTextField(placeholder: "", text: .constant(""))
                    .frame(maxWidth: 100)
                BorderedTextField(placeholder: "", text: .constant(""))
                .frame(maxWidth: 100)
            }
        }
        .layoutPriority(1)
        Spacer()
    }

另一种可能性是创建自定义对齐方式,对此有很好的讨论 here from WWDC

关于swift - 如何将 View 的尾部对齐方式与其父级的垂直轴对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57565602/

相关文章:

swift - 无法在自定义 UITableViewcell Xamarin.IOS 上执行行选择导航

arrays - 当 myArray.reversed() 的返回值分配给先前初始化的数组时,时间复杂度是否变为 O(n)?写时复制?

xcode - 无法加载 MapKit 模块

SwiftUI:通过 PageViewController 呈现模式

swift - Google map iOS SDK 动画 map 填充 SwiftUI

swift - 当 SwiftUI Picker 选择更改时,有没有办法调用函数?

swift - UITableView 点击手势行为

ios - 我怎样才能让真正的苹果 watch 打开父应用程序

ios - 仅当父 VStack 位于 SwiftUI 中的列表内时,才会触发按钮的多个操作处理程序

ios - 带有 .Vertical axis going below keyboard 的多行文本字段