SwiftUi 有没有办法在 TextField 中获取文本
SwiftUi is there a way to get a Text inside a TextField
我最近从 UIKit 迁移到 SwiftUi 2.0,我正在用 SwiftUI 重建我的应用程序。在 UIKit 中,我有一个文本框,在该文本框内,我有一个 post 按钮,我试图在 SwiftUi 中做同样的事情,但没有成功。在下图中的 SwiftUi 中,您可以看到 Text 在 TextField 之外。这是我为那个地区准备的代码
HStack {
TextField("", text: $Postdata)
.textFieldStyle(RoundedBorderTextFieldStyle())
.frame(height: 38)
Text("Post")
.foregroundColor(.white)
.padding(.trailing, 10)
}
这是它在 UIKit 中的样子
这就是我在 SwiftUI 中的做法,正如您所看到的 post 文本在 TextField 之外,任何建议都很好
使用ZStack
,我们可以在z轴上排列视图。
Spacer() 也不会像 EmptyView()
那样阻止任何视图的录音、拖动等等。它仅提供 space 作为名称本身。
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)
})
}
}
}
}
我最近从 UIKit 迁移到 SwiftUi 2.0,我正在用 SwiftUI 重建我的应用程序。在 UIKit 中,我有一个文本框,在该文本框内,我有一个 post 按钮,我试图在 SwiftUi 中做同样的事情,但没有成功。在下图中的 SwiftUi 中,您可以看到 Text 在 TextField 之外。这是我为那个地区准备的代码
HStack {
TextField("", text: $Postdata)
.textFieldStyle(RoundedBorderTextFieldStyle())
.frame(height: 38)
Text("Post")
.foregroundColor(.white)
.padding(.trailing, 10)
}
这是它在 UIKit 中的样子
这就是我在 SwiftUI 中的做法,正如您所看到的 post 文本在 TextField 之外,任何建议都很好
使用ZStack
,我们可以在z轴上排列视图。
Spacer() 也不会像 EmptyView()
那样阻止任何视图的录音、拖动等等。它仅提供 space 作为名称本身。
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)
})
}
}
}
}