【发布时间】:2020-05-16 04:25:51
【问题描述】:
目前,我在 SwiftUI 上遇到了一个相当有趣的问题。我有一个包含多个项目的列表,包括一个 DatePicker(这不是原因,它会影响我尝试过的所有其他视图)。有条件地显示和隐藏 DatePicker(带有 if 和 EmptyView)会产生以下动画:
https://thumbs.gfycat.com/PoshPertinentBettong-mobile.mp4(我尝试嵌入 gif,但它不允许我。如果可能,请随时修复此问题):)
(请注意 DatePicker 如何在两个动画方向上从底部的列表项中剪切出来。其他元素的行为相同,但由于它们的高度而不太明显)
我可以完全禁用动画,但不想这样做。我尝试使用各种.transition、.animation 等修饰符来解决此问题,但无济于事。
谁能解释这里发生了什么?
【问题讨论】:
-
我可以重现这个问题:github.com/ralfebert/SwiftUIPlayground/blob/master/…。对我来说似乎是一个 SwiftUI 错误。顺便说一句,你是如何让选择器直接显示而没有另一个在列表/表单中展开/折叠的表格行?
-
你会展示这个效果的演示代码吗?
-
@Asperi 这基本上是 Ralf Ebert 提供的。
-
@RalfEbert 我的日期选择器实际上是一个包装好的
UIDatePicker,countDownTimer模式处于活动状态。我不确定这是否是您要问的。另外,我认为默认情况下不提供标签会显示它,但不能 100% 确定这种行为。
标签: swift animation swiftui transition swiftui-list