#iOS
- Core Animation
→ レンダリングとアニメーションの処理を担う.
Core Animation is a graphics rendering and animation infrastructure available on both iOS and OS X that you use to animate the views and other visual elements of your app.
https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CoreAnimation_guide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40004514-CH1-SW1
-
UIView
→ 表示するオブジェクトを管理し, レイアウトやタッチイベントなどを処理. -
layerオブジェクト
→ アプリのデータを管理するモデルオブジェクト.
→ layerは情報をbitmap形式で管理
→ 基本的にはメインスレッド + CPUを用いて描画.
→ アニメーション時はGPUで描画. bitmapで管理することでGPUからの操作を容易にする.
→ CALayer -
UIViewのアニメーション
→ UIViewはlayerの CALayerDelegate.action(for:forKey:) でアニメーション可能な値を探索. -
CAShapeLayer (extends CALayer)
→ Vectorで描画するので解像度に依らない. サイズごとにCore Animationが自動でbitmapを作成.
→ UIBezierPath(ベジェ曲線)などでPathを設定して, 塗りつぶしたり.