SwiftUI - 防止输入文本时TextField的扩展

4

我有一个带有固定大小框架的TextField,但即使在其他兄弟元素上,它仍会扩展以包裹输入的文本。

初始状态:

Initial TextField

输入一些内容后:

TextField with input

在 SwiftUI 中,是否有一种方法可以使用 TextField 防止这种情况发生,或者我需要使用 ViewRepresentable?

我用于此布局的代码如下:

HStack(spacing: 0) {
    Text("1").fixedSize(horizontal: true, vertical: false).frame(width: 22)
    TextField("Price", text: $text1).fixedSize(horizontal: true, vertical: false).frame(width: 70)
    TextField("1", text: $text2).fixedSize(horizontal: true, vertical: false).frame(width: 30)
    TextField("1", text: $text3).fixedSize(horizontal: true, vertical: false).frame(width: 70)
}.textFieldStyle(RoundedBorderTextFieldStyle())
1个回答

3

修改修饰符的顺序,例如

TextField("1", text: $text3)
   .frame(width: 70)                                // << here !!
   .fixedSize(horizontal: true, vertical: false)

本代码测试使用Xcode 12.1 / iOS 14.1


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接