うるおいらんど

アプリ開発やサイト制作のメモとか。

【Swift】UIButtonを一回転させるアニメーション【改】

魚ライン
魚ライン

以前書いた記事「【Swift】UIButtonを一回転させるアニメーション」では、iOS8以上では一回転していましたが、iOS7では変な挙動をしていました。

今回やっとiOS7環境でも動くように改善しました。

iOS8以降でもこちらを利用した方が断然良いと思います!

 

以前のコード

まずは以前のコードのどこを書き換えるかです。

 

アニメーションの部分をがっつり変えちゃいます。

代わりにこのようなコードを書きます

 

これでiOS7でもちゃんと動くようになりました!わーい

 

少し解説・・・

animateWithDuration: animations:ではなくCABasicAnimationを用いる

animateWithDuration:animationsでは360度回転って意外と難しいです。簡単にできそうなのに全然できずにイライラしていましたが、CABasicAnimationを用いると簡単に360度回転することができました。

 

まず回転アニメーションを用いることを宣言

ここでkeyPathを自分で設定するもんだと思ってたら違いました(照)

ちゃんと用意されているのでないと動かないので注意です。

 

次に回転角度を決めます

この値は、プラスのときは時計周り、マイナスのときは反時計回りに回ります。

 

次にアニメーションにかかる時間です

 

リピートする回数は今回は1回転のみにしたいので1にしておきます。

 

最後にアニメーションさせたいものにaddAnimationします。

 

 

こんな感じです。

 

全体のコード

 

参考サイト

360°の回転アニメーションを作る

 

 

魚ライン
モッピー!お金がたまるポイントサイト
魚ライン

Swiftの記事一覧を見る

コメント

コメントは認証制です。詳しくは下記の注意をお読みください。

コメントを残す

コメント時の注意

「Twitter」「Facebook」「Google+」「WordPress」のいずれかのアカウントをお持ちの方は各アカウントと連携することでコメントできます。 コメントしたことはSNSに流れませんので、アカウントをお持ちの方はこちらの方法でコメントを投稿して下さると嬉しいです。 アカウントをお持ちでない方はメールアドレスで投稿することができます。 初回コメント時は承認後に表示されます。

魚ライン 魚ライン