JavaScriptを有効にしてください

Core Animation と CALayer

 ·  ☕ 1 min read

#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を設定して, 塗りつぶしたり.

共有

YuWd (Yuiga Wada)
著者
YuWd (Yuiga Wada)
機械学習・競プロ・iOS・Web