代码之家  ›  专栏  ›  技术社区  ›  user1591668

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

  •  0
  • user1591668  · 技术社区  · 4 年前

    我最近从UIKit迁移到了swiftui2.0,我正在用SwiftUi重建我的应用程序。在UIKit中我有一个文本框,在这个文本框中我有一个post按钮,我正试图在SwiftUi中做同样的事情,但没有成功。在下面的SwiftUi图像中,您可以看到文本在TextField之外。这是我在那个地区的代码

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

    enter image description here

    这就是我在SwiftUI中的使用方法,因为你可以看到post文本在TextField之外,任何建议都是很好的

    enter image description here

    1 回复  |  直到 4 年前
        1
  •  1
  •   Yodagama    4 年前

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