Swiftui中带有文本视图和文本字段的字符串插值

时间:2020-06-04 14:52:42

标签: swiftui

嗨,我想知道是否有任何方法可以在Swiftui中使用文本字段和文本进行字符串插值。喜欢

Text("hi \(TextField("Enter your name", $name)")

2 个答案:

答案 0 :(得分:1)

您可以尝试以下代码

struct ContentView: View {
    @State private var name = ""
    var body: some View {
        VStack{
            TextField("Enter your name", text: $name)
            Text("Hi \(name)")
        }
    }
}

希望这就是您想要的 enter image description here

答案 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并在以后使用该变量是更好的选择。