swift - SwiftUI AnyTransition.animation 在使用 .offset 时不会覆盖动画参数
问题描述
我有一个视图,我想在其中使用偏移过渡。据我了解,我可以使用 AnyTransition 上的 .animation 函数来覆盖显式动画的动画参数。
在这个简单的示例中,我希望 Rectangle 过渡比移动的文本长 10 倍。
它在使用 AnyTransition.opacity 时有效
struct MyTestView: View {
@State var rectangleExists = false
var body: some View {
VStack {
if rectangleExists {
Rectangle().fill().foregroundColor(.red).padding()
//.transition(AnyTransition.opacity
.transition(AnyTransition.offset(x: 100, y: 0)
.animation(.linear(duration: 5)))
}
Text("Tap Me").onTapGesture {
withAnimation(.linear(duration: 0.5)) {
rectangleExists.toggle()
}
}
}
}
}
解决方案
推荐阅读
- android - SearchView:为什么不显示玻璃图标
- office-js - 当我们的代码在 OWA 之外执行时,Office.onReady() 认为它正在 Excel 中运行
- html - 如何使子 div 浏览器视口的全宽忽略父级的位置(边距和填充)和宽度
- php - 数组/PHP - 我无法正确显示我的数组
- php - PHP 类 - 获取当前请求
- javascript - Javascript:为什么放在逻辑或之后会返回三元表达式结果?
- python - 在python程序中创建IPSet
- c# - C# Excel 互操作防止 excel 窗口变得可见
- java - 计算 MPG 导致 java.lang.ArithmeticException: 非终止十进制扩展;没有精确可表示的十进制结果
- ruby - Selenium WebDriver 的 Ruby 脚本构建错误