在 SwiftUI 中设置 TextField 的宽度
Posted
技术标签:
【中文标题】在 SwiftUI 中设置 TextField 的宽度【英文标题】:Set width of TextField in SwiftUI 【发布时间】:2022-01-04 10:08:02 【问题描述】:使用 TextField 时,无论显示的文本长度如何,我都想将其设置为固定宽度,例如“123456789”的字段宽度,即使内容仅为“1”。
TextField("0", text: $username)
.textFieldStyle(RoundedBorderTextFieldStyle())
.fixedSize(horizontal: true, vertical: false)
.frame(width: 120)
我没有找到任何设置宽度的东西。使用框架只影响周围的框架,但我想设置 TextField 本身的宽度。所以可见宽度应该比它的内容更宽。 有什么想法吗?
【问题讨论】:
【参考方案1】:在应用 .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()
你去!
【讨论】:
以上是关于在 SwiftUI 中设置 TextField 的宽度的主要内容,如果未能解决你的问题,请参考以下文章
在 RxSwift 中设置 TextField 字符的限制 [重复]