首页 > 解决方案 > SwiftUI List - 条件项打破动画

问题描述

我现在对 SwiftUI 有一个相当有趣的问题。我有一个包含多个项目的列表,包括一个 DatePicker(这不是原因,它会影响我尝试过的所有其他视图)。有条件地显示和隐藏 DatePicker(带有ifEmptyView)会产生以下动画:

https://thumbs.gfycat.com/PoshPertinentBettong-mobile.mp4(我尝试嵌入 gif,但它不允许我。如果可能,请随时修复它):)

(请注意 DatePicker 如何在两个动画方向上从底部的列表项中剪辑出来。其他元素的行为相同,但由于它们的高度而不太明显)

我可以完全禁用动画,但不想这样做。我试图用各种 , 等修饰符来解决这个问题.transition.animation但无济于事。

谁能解释这里发生了什么?

标签: swiftanimationswiftuitransitionswiftui-list

解决方案


项目展开/折叠时动画期间的重叠似乎是 SwiftUI 中的一个错误。

对于 iOS 13.4,您甚至可以在配置文件屏幕中的 SwiftUI 教程WorkingWithUIControls的官方 Apple 示例项目中看到它:


推荐阅读