gpt4 book ai didi

ios - 使 TextField 将其内容包装在 SwiftUI 中

转载 作者:行者123 更新时间:2023-12-01 16:01:10 26 4
gpt4 key购买 nike

我正在尝试实现这样的组件

enter image description here

TextField (5 000) 和 Text (PLN) 一起应水平居中。输入新数字时,应取消文本 (PLN)。我想我必须将这两个 View 合并到一个容器中并居中,比如

HStack {
TextField()
Text("PLN")
}
.frame(alignment: .center)

但是 TextField 占用了所有可能的宽度。

我该如何处理它,或者可能是其他解决方案。

最佳答案

这是使用动态大小的 TextField 的可能方法。

注意:助手 rectReader 取自 this我的帖子。

使用 Xcode 11.4/iOS 13.4 测试(黑色边框仅用于演示)

demo

struct DemoCenterTextField: View {
@State private var value = ""
@State private var frame = CGRect.zero

var body: some View {
return HStack(alignment: .bottom) {
ZStack {
Text(self.value).foregroundColor(Color.clear)
.fixedSize()
.background(rectReader($frame))

TextField("#.#", text: $value)
.multilineTextAlignment(.trailing)
.frame(minWidth: 80, idealWidth: frame.width)
.fixedSize(horizontal: true, vertical: false)
.border(Color.black) // << for demo only

}.font(Font.system(size: 40).bold())

Text("PLN")
}
}
}

关于ios - 使 TextField 将其内容包装在 SwiftUI 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61817927/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com