我正在嘗試實作一個居中的文本欄位,但我似乎無法這樣做。我嘗試了 3 種不同的方式,但它仍然領先對齊。
//Mobile Number Field
HStack(alignment: .center) {
//Enter your number field
VStack(alignment: .center, spacing: 6){
Text(" \(loginData.getCountryCode()) \(loginData.phoneNumber)")
.foregroundColor(Color.white)
.font(Font.custom("URWDIN-Thin", size: 20))
.padding(.top, 40)
.frame(alignment: .center)
}
Spacer(minLength: 0)
}
所以我嘗試通過 HStack 和 VStack 建構式將它對齊到中心,以及文本的框架。我的結果仍然是這樣的:

用戶輸入的文本也被對齊。關于如何解決這個問題的任何見解?
uj5u.com熱心網友回復:
HStack在中心垂直對齊。VStack居中對齊,但您將其添加到 an 中HStack,然后使用 . 將堆疊向左推Spacer()。
只需Spacer()在VStack. 或者只是以下內容:
HStack {
Spacer()
Text("In the center")
Spacer()
}
uj5u.com熱心網友回復:
如果您正在嘗試實作一個文本欄位,您應該使用 TextField... 但我想您想要對齊文本而不是這樣,
.multilineTextAlignment(.center)請在您的代碼上實作這個:
如果你想明確地居中你的 Text 用這個改變你的 padding 引數:.padding(.horizontal, 40)。
//Mobile Number Field
HStack(alignment: .center) {
//Enter your number field
VStack(alignment: .center, spacing: 6){
Text(" \(loginData.getCountryCode()) \(loginData.phoneNumber)")
.foregroundColor(Color.white)
.font(Font.custom("URWDIN-Thin", size: 20))
.padding(.horizontal, 40)
.multilineTextAilgnment(.center)
}
Spacer(minLength: 0)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/430546.html
上一篇:轉換為雙精度的字串值在Swift中自動更改為十進制值
下一篇:SwiftUI中的MVVM模型
