繁体   English   中英

在 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)

我没有找到任何设置宽度的东西。 使用框架只影响周围的框架,但我想设置 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()
    }
}

给你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM