如何使TextField右对齐(尾随)

mim*_*imo 5 ios swift swiftui

我正在尝试以尾随对齐方式显示TextField的值。

如您所见,值34.3显示为前导对齐。

我确定我缺少明显的东西,但是我不知道是什么。有任何想法吗?

@State private var endwert = 34.3

var numberFormatter: NumberFormatter {
    let formatter = NumberFormatter()
    formatter.numberStyle = .decimal
    formatter.locale = Locale.current
    return formatter
}

...

HStack {

  Text("Endwert")
    .frame(width: nil, height: nil, alignment: .topTrailing)
    .background(Color .green)

  Spacer()

  TextField($endwert, formatter: numberFormatter)
    .background(Color.yellow)
    .frame(width: nil, height: nil, alignment: .trailing)

  Text("m2")
}
Run Code Online (Sandbox Code Playgroud)

看起来像这样

Mo *_*ani 14

添加.multilineTextAlignment(.trailing)到您的TextField:

TextField($endwert, formatter: numberFormatter)
  .multilineTextAlignment(.trailing)
  ...
Run Code Online (Sandbox Code Playgroud)

结果是:

在此处输入图片说明

  • 谢谢。而已!再次,解决方案是显而易见的……我没有尝试使用multiline *修饰符,因为我在想“不……我在这里没有做多行的事情”。 (2认同)
  • “.trailing” 的唯一问题是,选择内部有内容的 TextField 会自动将光标放置在最左侧而不是右侧。 (2认同)