CoreAnimationのLayer
CALayerとは
UIViewのlayerがこのクラス
Viewに描画するためのオブジェクトを管理する
アニメーションもLayerが管理する
というかLayerに紐付ける、という言い方が正しいのかな
タッチイベントなどは受け取れない
CALayerの入れ子ができる
Viewに描画する内容を管理する
一つ一つのオブジェクト?
もしくは複数のオブジェクトを束ねるもの?
こっちぽい
アニメーションのときはまた考えることが増える?
キャパオーバーしたmrsekut.icon
CAHogeLayerはCALayerのサブクラス
tutorialてきな?
体系的で詳しい
読んでないけどmrsekut.icon
blueView.layer.add(animation, forKey: nil)がわからんねんな、
見た感じ手順としてはこんな感じか
アニメーションAを作成
Aを実行するためのsubLayer Lを作成
Lにadd(A)する
大元の?view.layerにaddSublayer(L)をする
code:swift
// アニメーションを作成
let a = CABasicAnimation(keyPath: "strokeEnd")
a.duration = 1.0
// レイヤーを作成
let l = CAShapeLayer()
layer.frame = layer_frame
// レイヤーにアニメーションを付加
l.add(a, forKey: nil)
// 大元にサブレイヤーを追加
view.layer.addSublayer(l)
レイヤーを新しく作成する意義とは
なんで、一つのレイヤに複数のアニメーションを追加していくのではだめ?
レイヤーを増やすと重くなる?
レイヤーはどのタイミングでレンダリング?され、破棄?される?
レイヤーの種類とその使い分け
CAShapeLayerとは
図形を表示できる
ベジエ曲線で様々な図形を表現できるCALayerのサブクラス
アニメーションとか関係なく、ただ画面上に線を引きたいとかだとこいつを使うのか
fillColorで背景の塗りつぶし
strokeColorで図形の輪郭の色
fillRule
その、線を引くときに使うのがHogePathというクラスか
UIBezierPath
たぶんベジエ曲線
CGMutablePath
CATextLayer
文字列を扱うことのできるCALayerのサブクラス
CAEmitterLayer
パーティクルを扱う
CAReplicatorLayer
CAReplicatorLayerは、そのサブレイヤーに様々な変換を加えた上で複製を作成できるCALayerのサブクラスです。 ref CAGradientLayer
グラデーションをするレイヤー