[iOS][Swift] UIKitをベンリにしてくれる Spring (3)

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

Springは、Meng Toさんが GitHub で公開されているライブラリです。Core Animation を使ったアニメーションや、View の周りの border の調整など UIKit のアレやコレを、カンタンにしてくれます。

各種設定値を見る

前回は、どんな種類のアニメーションが実現できるかを見てきました。

今回は、大きさや座標値など、各種設定値を見て行きましょう。

各種設定値

以下のような設定値が用意されています。これらを組み合わせることで、さまざまな動きの調整をすることができます。

変数名 内容 初期値
autostart Bool オブジェクトが生成された際自動でアニメーションを開始 false
autohide Bool はじめに alpha 値を 0 にするか否かを設定。※試した所現在まで設定値による表示の変化を確認できていません false
animation String アニメーションの種類を指定
force CGFloat 対象にかかる「力」の大きさ。例えば、この値が大きいほど伸縮が大きくなる。 1
delay CGFloat アニメーションが開始されてから実際に動き出すまでの時間 0
duration CGFloat 継続時間(秒) 0.7
damping CGFloat 振幅する動きに関わる値。小さいほど振幅する動きが大きくなる 0.7
velocity CGFloat 振幅の初速 0.7
repeatCount Float 繰り返す回数 1
x CGFloat X座標の初期値 0
y CGFloat Y座標の初期値 0
scaleX CGFloat 初期のX方向の倍率 1
scaleY CGFloat 初期のY方向の倍率 1
rotate CGFloat 回転 0
curve String イージングの種類を指定

Springをつかったアニメーションが標準で使えるクラス

ここまで SpringView を使ってきましたが、他にも以下のクラスを利用することができます。 たとえば Storyboard で Button を置き、Custom Class として Spring Button を指定すれば良いです。

クラス 継承元
SpringButton UIButton
SpringImageView UIImageView
SpringLabel UILabel
SpringTextField UITextField
SpringTextView UITextView
SpringView UIView

次回

今回まで見てきたことを組み合わせて、少し複雑なアニメーションを実現してみます。お楽しみに!