我认为View.disabled(_:)
修饰符会更改.foregroundColor
的{{1}}(除了启用/禁用与之交互之外)。可以将颜色更改设置为动画吗?
我知道很容易用隐式动画(例如:View
)对.opacity
的变化进行动画处理。但是,.animation(.default)
不能使用相同的功能。
请考虑以下代码:
.disabled
这将产生以下结果,呈现出平滑的不透明过渡:
...另一方面,启用/禁用的颜色转换是二进制的。看起来不太好。
我当前的解决方法是根据视图的启用/禁用状态更改其不透明度。 因此,例如,如果视图被禁用,则不透明度为0.6。如果启用,则不透明度回到1.0。
但是感觉不对。必须有另一种方式。