Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swiftui中文本视图和文本字段的字符串插值_Swiftui - Fatal编程技术网

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

Swiftui中文本视图和文本字段的字符串插值,swiftui,Swiftui,嗨,我想知道是否有任何方法可以在Swiftui中使用文本字段和文本进行字符串插值。像 Text("hi \(TextField("Enter your name", $name)") 如果你真的想这样做,你可以把你的陈述放在一个Hstack中,如下所示: import SwiftUI struct SwiftUIView: View { @State var name = "" var body: some View { HStack {

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

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

如果你真的想这样做,你可以把你的陈述放在一个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作为字符宽度。我仍然认为有一个额外的文本字段并在以后使用变量是更好的选择。

您可以尝试下面的代码

struct ContentView: View {
    @State private var name = ""
    var body: some View {
        VStack{
            TextField("Enter your name", text: $name)
            Text("Hi \(name)")
        }
    }
}
希望这是你想要的

你好,谢谢。是否在hi旁边而不是上面的名称中输入用户类型?嗨,这是我当前的解决方案,但我想根据textfield中的文本更改textfield大小。当前,文本字段的大小与占位符文本的大小相同,而不是动态更改