【发布时间】:2021-05-31 13:14:47
【问题描述】:
我们有几个设置了自定义 ButtonStyle 的按钮,它们在单击时缩放和更改这些按钮的 alpha。这些按钮在一个工作表中,可以拖动。使用 scaleEffect 时如何防止按钮的位置被动画化?没有按钮样式没关系,但显然它不会在点击时产生动画。有关问题,请参见 gif。谢谢。
struct ScaleButtonStyle: ButtonStyle {
func makeBody(configuration: ButtonStyleConfiguration) -> some View {
configuration
.label
.animation(nil)
.scaleEffect(configuration.isPressed ? 0.95 : 1)
.opacity(configuration.isPressed ? 0.8 : 1)
.animation(.linear(duration: 0.2))
}
}
【问题讨论】: