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

时间:2020-12-29 14:25:24

标签: ios swift swiftui

我有一个带有固定大小框架的 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 个答案:

答案 0 :(得分:2)

改变修饰符的顺序,比如

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

Tested with Xcode 12.1 / iOS 14.1