SwiftUi 有没有办法在 TextField 中获取文本

问题描述

我最近从 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 中的样子

enter image description here

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

enter image description here

解决方法

使用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)
                    })
                }
            }
        }
    }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...