SwiftUi 有没有办法在 TextField 中获取文本
Posted
技术标签:
【中文标题】SwiftUi 有没有办法在 TextField 中获取文本【英文标题】:SwiftUi is there a way to get a Text inside a TextField 【发布时间】:2020-12-29 03:59:29 【问题描述】:我最近从 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 之外,任何建议都会很棒
【问题讨论】:
【参考方案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)
)
【讨论】:
以上是关于SwiftUi 有没有办法在 TextField 中获取文本的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI:在输入之前将 TextField 大小扩展到字体大小
SwiftUI:UIAlertController 的 textField 在 UIAlertAction 中没有响应