CoreAnimation
from iOSのアニメーション
複雑なアニメーションを実装できる
UIKit以上のアニメーションができるってことかmrsekut.icon
思ってたよりCoreっぽい
UIKitよりCoreなんかよmrsekut.icon
https://pt.slideshare.net/entaq/animations-swift
CoreAnimationのLayer
docs
CABasicAnimation
keypathは用意されているものを使う
アニメーション時間や、アニメーション開始時間なども設定できる
参考
iOSアプリ開発でアニメーションするなら押さえておきたい基礎 - Qiita
CASpringAnimation
もうすこし柔軟なやつ
これはtransform.scale限定のアニメーションなのか
スケールのアニメーションで重力とか質量とか硬さとかを表現できる
コード例 ref
コンストラクタの引数のkeyPathは"transform.scale"以外は取らないの?
重力アニメーション参考
code:swift
animation.mass = 1.0
animation.initialVelocity = 30.0
animation.damping = 3.0
animation.stiffness = 120.0
animation.duration = 10
animation.repeatCount = .infinity
参考
iOSアプリ開発でアニメーションするなら押さえておきたい基礎 - Qiita
http://nakajijapan.github.io/blog/2018/07/28/springアニメーションのテスト/
CAKeyframeAnimation
キーフレームアニメーションってなに?
CATransaction
https://qiita.com/hachinobu/items/57d4c305c907805b4a53#catransaction
終了の検知のために使うのか?
CAAnimationGroup
アニメーションをグループ化する
複数のアニメーションを並列に動かしたり、
Aが終わったらB、のように逐次実行させたりできる
アニメーションの逐次実行ができた
code:swift
// 長方形を作成
let rec = SCNNode(geometry: SCNPlane(width: 0.3, height: 0.3))
// 拡大するアニメーション
let scaleAnim = CASpringAnimation(keyPath: "transform.scale")
scaleAnim.fromValue = SCNVector4(0.0, 0.0, 0.0, 0.0)
scaleAnim.toValue = SCNVector4(1.0, 1.0, 1.0, 0.0)
scaleAnim.duration = 2.0 // 2sのアニメーション
// 伸びるアニメーション
let expandAnim = CASpringAnimation(keyPath: "transform.scale")
expandAnim.fromValue = SCNVector4(1.0, 1.0, 1.0, 0.0)
expandAnim.toValue = SCNVector4(1.0, 2.0, 1.0, 0.0)
expandAnim.beginTime = 2.0 // 開始点を2s後にする
expandAnim.duration = 2.0
// グループを作成
let group = CAAnimationGroup()
group.setValue("g", forKey: "animationName")
group.duration = 4.0 // グループ全体のアニメーション時間
group.fillMode = CAMediaTimingFillMode.forwards
group.animations = scaleAnim, expandAnim // 上で作ったアニメーションを追加
group.isRemovedOnCompletion = false
rec.addAnimation(group, forKey: "g")
blueView.layer.add(rec, forKey: nil)
forKeyはなに?
参考
iOSアプリ開発でアニメーションするなら押さえておきたい基礎 - Qiita
参考
【iOS】 Core Animationまとめ - Qiita
iOSアプリ開発でアニメーションするなら押さえておきたい基礎 - Qiita
Swiftでアニメーション CoreAnimation編
https://github.com/kieuquangloc147/iOSAnimation/issues/1
がちっぽいやつ
よんでない