我想要做类似于这样的事情:
VStack {
content()
}
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)
.overlay(
MyView()
.transition(.asymmetric(insertion: .move(edge: .top), removal: .opacity))
.animation(.easeInOut)
)
由于某些原因,MyView无法进行动画效果。是否有人能提供解决方案?
.overlay()
方法内部使用自定义转换。放置在那里的任何转换都不会动画。我看过的Apple文档和第三方教程(https://swiftui-lab.com/advanced-transitions/)(https://medium.com/better-programming/fancy-swiftui-making-an-interactive-overlay-control-202e691c04bf)都没有使用这样的转换,因此这可能不是正确的方法。您想使用`.overlay()`的特定原因吗? - John M.