【问题标题】:SwiftUi is there a way to get a Text inside a TextFieldSwiftUi 有没有办法在 TextField 中获取文本
【发布时间】:2026-01-01 10:45:02
【问题描述】:

我最近从 UIKit 迁移到 SwiftUi 2.0,我正在使用 SwiftUI 重建我的应用程序。在 UIKit 中,我有一个文本框,在该文本框内我有一个发布按钮,我试图在 SwiftUi 中做同样的事情,但没有成功。在 SwiftUi 的下图中,您可以看到 Text 在 TextField 之外。这是我在该地区的代码

      HStack {
                TextField("", text: $Postdata)
                    .textFieldStyle(RoundedBorderTextFieldStyle())
                    .frame(height: 38)
                        Text("Post")
                            .foregroundColor(.white)
                            .padding(.trailing, 10)
                    }

这是它在 UIKit 中的样子

这就是我在 SwiftUI 中的方式,因为您可以看到帖子文本位于 TextField 之外,任何建议都会很棒

【问题讨论】:

    标签: swift swiftui swiftui-text


    【解决方案1】:

    使用ZStack,我们可以在z轴上排列视图。 Spacer() 也不会像EmptyView() 那样阻止任何视图录制、拖动等。它只提供空间作为名称本身。

     struct ContentView: View {
            @State var postdata = ""
            var body: some View {
                ZStack {
                    TextField("", text: $postdata)
                        .textFieldStyle(RoundedBorderTextFieldStyle())
                        .frame(height: 38)
                    HStack {
                        Spacer()
                        Button(action: {
                            
                        }, label: {
                            Text("Post")
                                .bold()
                                .foregroundColor(.green)
                                .padding(.trailing, 10)
                        })
                    }
                }
            }
        }
    

    【讨论】:

      最近更新 更多