嗨,我想知道是否有任何方法可以在Swiftui中使用文本字段和文本进行字符串插值。喜欢
Text("hi \(TextField("Enter your name", $name)")
答案 0 :(得分:1)
您可以尝试以下代码
struct ContentView: View {
@State private var name = ""
var body: some View {
VStack{
TextField("Enter your name", text: $name)
Text("Hi \(name)")
}
}
}
答案 1 :(得分:0)
如果您确实想这样做,可以将语句放在Hstack中,如下所示:
import SwiftUI
struct SwiftUIView: View {
@State var name = ""
var body: some View {
HStack {
Text("Hi")
TextField("Name", text: $name)
.frame(width: (name.isEmpty ? 45 : 0) + CGFloat(name.count) * 9)
Text("blabla")
}
}
}
注意:这会给您带来动态变化,但并不是一个完美的变化,因为每个字符的大小都不同,所以最后会得到较大的空格。我只是在这里选择9作为字符宽度。我仍然认为有一个额外的Textfield并在以后使用该变量是更好的选择。