在 SwiftUI 中设置 TextField 的宽度
Set width of TextField in SwiftUI
当使用 TextField 时,我想将其设置为固定宽度,而不考虑显示的文本长度,例如“123456789”的字段宽度,即使内容只有“1”。
TextField("0", text: $username)
.textFieldStyle(RoundedBorderTextFieldStyle())
.fixedSize(horizontal: true, vertical: false)
.frame(width: 120)
我没有找到任何设置宽度的东西。使用 frame 只影响周围的框架,但我想设置 TextField 本身的宽度。所以可见宽度应该比它的内容宽。
有什么想法吗?
只需在应用 .textFieldStyle() 修饰符之前移动 .frame() 修饰符。
import SwiftUI
struct ContentView: View {
@State private var username = ""
var body: some View {
TextField("0", text: $username)
.frame(width: 120)
.textFieldStyle(RoundedBorderTextFieldStyle())
.fixedSize(horizontal: true, vertical: false)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
给你!
当使用 TextField 时,我想将其设置为固定宽度,而不考虑显示的文本长度,例如“123456789”的字段宽度,即使内容只有“1”。
TextField("0", text: $username)
.textFieldStyle(RoundedBorderTextFieldStyle())
.fixedSize(horizontal: true, vertical: false)
.frame(width: 120)
我没有找到任何设置宽度的东西。使用 frame 只影响周围的框架,但我想设置 TextField 本身的宽度。所以可见宽度应该比它的内容宽。 有什么想法吗?
只需在应用 .textFieldStyle() 修饰符之前移动 .frame() 修饰符。
import SwiftUI
struct ContentView: View {
@State private var username = ""
var body: some View {
TextField("0", text: $username)
.frame(width: 120)
.textFieldStyle(RoundedBorderTextFieldStyle())
.fixedSize(horizontal: true, vertical: false)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
给你!