Apple 公式チュートリアルから引用。
Button {
showDetail.toggle()
} label: {
Label("Graph", systemImage: "chevron.right.circle")
.labelStyle(.iconOnly)
.imageScale(.large)
.rotationEffect(.degrees(showDetail ? 90 : 0))
.animation(nil, value: showDetail)
.scaleEffect(showDetail ? 1.5 : 1)
.padding()
.animation(.spring(), value: showDetail)
}
アニメーションとエフェクトの関係を考えればいろいろ書けますよね。
以下、微妙な差があったりなかったりするの見えますか。
詳細コードは以下から。
animation, effect, withAnimation の順序と多くの引数。
いろいろな記述が考えられます。
どこまでこだわるか。
どれだけシンプルに書くか。