如何在HStack中基线对齐TextField和Text

时间:2019-11-10 21:00:23

标签: alignment textfield swiftui

在HStack中对齐TextFiled和Text时遇到一些麻烦。

问题在于.lastTextBaseline对齐。

struct TextFieldCurrency: View {
    @State var value = "32"

    var body: some View {
         HStack(alignment: .lastTextBaseline) {
            TextField("price", text: $value)
                .background(Color.yellow)
                .modifier(TextFieldValueAppearance()) //font: 32
            Text("PLN")
                .background(Color.red)
                .modifier(TextFiledUnitAppearance()) //font: 16
         }.background(Color.green)
    }
}

上面的代码产生了这个错误,完全是错误的。

TextField and Text in HStack - incorrectly alignment

但是带有Text而不是TextField的相同代码。

Two Text view - correct alignment

所以,我的问题是:

  1. 为什么会这样? TextField与Text有何不同?
  2. 什么是基线对齐解决方案?

我有Xcode 11.2和Mac OS Catalina 10.15.0

0 个答案:

没有答案