【发布时间】:2021-10-07 21:02:24
【问题描述】:
我在搞乱 Swift UI 的线性动画技术并注意到,与我的预期相反,增加持续时间似乎并没有让动画发生得更慢。这是故意的吗?如果是这样,我该如何制作更慢的动画?
示例代码:
struct ButtonView: View {
@State var show: Bool = false
var body: some View {
ZStack{
if show {
withAnimation(.linear(duration: 50)) {
CollapsibleView()
}
}
}
Button(action: { show = !show }) {
Text("Press Me")
}
}
}
struct CollapsibleView: View {
var body: some View {
VStack {
Text("Text 1")
Text("Text 2")
Text("Text 3")
}
}
}
@main
struct app: App {
var body: some Scene {
WindowGroup {
ButtonView()
}
}
}
尝试更改持续时间参数,看看您是否能注意到较慢的动画。我达到了 5000(我假设这是以秒为单位?)它仍然以看似相同的速度制作动画。
【问题讨论】: