[SwiftUI]回転アニメーションをするには?

SwiftUI

どうも、ちょげ(@chogetarou)です。

ビューを回転するアニメーションをする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

回転アニメーションをするには、rotationEffect修飾子を使います。

まず、ビューにrotationEffect修飾子を付与します。

rotationEffect修飾子の引数には、Angleでビューの回転角度(0〜360)を指定します。

次に、ビューにアニメーションを付与します。

ExampleView(・・・)
   .rotationEffect(degree)
   .animation(・・・)

最後に、rotationEffect内に指定したビューの回転角度を変更します。

アニメーションを付与する方法には、animation修飾子を使った方法やwithAnimationを使った方法などがあります。

使用例

struct ContentView: View {
    @State var isRotate = false
    var body: some View {
        VStack {
            Rectangle()
                .frame(width: 200, height: 200)
                .foregroundColor(.pink)
                .rotationEffect(Angle.degrees(isRotate ? 0 : 360))
                .animation(.easeInOut(duration: 2), value: isRotate)
            
            Button(action: {
                self.isRotate.toggle()
            }) {
                Text("Rotate")
            }
        }
    }
}
オススメの記事

[SwiftUI]アニメーションを移動に追加するには?

[SwiftUI]Buttonにタップアニメーションを付けるには?

[SwiftUI]Toggleでアニメーションをするには?

[SwiftUI]フェードインのアニメーションをする方法

コメント

タイトルとURLをコピーしました