【发布时间】:2021-06-03 23:39:13
【问题描述】:
我有以下代码。文本更改时,覆盖的内容不会被删除?
ZStack {
TextEditor(text: $text)
if text.isEmpty {
Text("Content")
}
}
最初会显示覆盖的内容,但如果我继续在 TextEditor 上键入,内容仍会保留在屏幕上。我也检查了 text.count == 0 结果是一样的。
这是屏幕截图 - TextEditor 中的 $text(黄色背景)显然不是空的。 (在 iPadOS/iOS 14.6 和 14.7 beta 上测试)
【问题讨论】:
-
你能展示一个完整的代码来重现这个问题吗?至于我将您的代码放入 ContentView 的正文中,
Text("Content")隐藏在 TextEditor 后面,无论text是否为空。 -
嗨,很抱歉。代码很长,这里就不贴了。但这是文本隐藏的原因,因为我的代码中有这个: init() { UITextView.appearance().backgroundColor = .clear }
-
我会倒序看问题。
-
您的代码快照适用于 Xcode 12.5 / iOS 14.5。请提供完整的可重现示例以及您在哪个环境中对其进行测试。
-
感谢您的帮助。我在 14.6/14.7 beta 上对其进行了测试,当我在 TextEditor 上输入内容时,内容文本并没有消失。似乎 $text 不会刷新其他视图。我正在使用 iPhone 12 mini 和 iPad mini 进行测试。