【发布时间】:2021-05-26 15:06:24
【问题描述】:
尊敬的 SwiftUI 社区,
我正在尝试创建一个文本字段,该字段通过单击按钮时的上移/下移动画来切换显示/隐藏。
我发现这对source 很有帮助。
但是,当我在自己的代码上尝试它时,它仅适用于显示切换而不适用于隐藏切换(在我的 iPhone 上运行时也是如此)。
在完全剥离我的代码直到下面之后,我发现当我删除初始 ZStack 上的(背景)颜色时,这个问题得到了解决。
我不明白为什么会这样。 这是一个 SwiftUI 错误还是这背后有什么逻辑? 另外,我不知道现在如何在不弄乱文本字段动画的情况下向该窗口添加背景。
有人知道这方面的更多信息吗?
提前致谢!
最好, 保罗
import SwiftUI
struct MatchResultsInput: View {
@State private var show = false
var body: some View {
ZStack {
Color(#colorLiteral(red: 0.8039215803, green: 0.8039215803, blue: 0.8039215803, alpha: 1))
.ignoresSafeArea()
VStack {
Button(action: {
withAnimation {
show.toggle()
}
}) {
Text("Show/Hide button")
.foregroundColor(.white)
.bold()
}
.padding(5)
.background(Color(#colorLiteral(red: 0.2117647059, green: 0.8, blue: 0.5176470588, alpha: 1)))
.clipShape(Capsule())
Spacer()
}
if show {
VStack {
Text("16")
.foregroundColor(.gray)
.font(.system(size: 30))
.bold()
}
.transition(.move(edge: .bottom))
}
}
}
}
struct MatchResultsInput_Previews: PreviewProvider {
static var previews: some View {
MatchResultsInput()
}
}
【问题讨论】: