CALayerの管理
公開日:
:
最終更新日:2014/02/24
Tips CALayer, Key-Value-Coding
CALayerはNSKeyValueCodingを実装している(Core Animation Extention)。
このため、[CALayer setValue:forKey:]というのが通るので、レイヤーに名前を付けて管理したい場合、子レイヤーをaddSubLayerするのとは別個に、親レイヤーに適当なキーでレイヤーをsetValueしてやると、子レイヤーを名前で逆引きしやすくなる。
[parentLayer setValue:childLayer forKey:@“hogehoge_layer”];
これによってCALayerの検索性が増し、特定のレイヤーを抽出することが極めて簡単になる。
従前は仕様でがっちりレイヤーの順序を決めておき、sublayersのobjectAtIndexで目的のサブレイヤーを引っ張ってきて処理をしてたのだが、なんとも恥ずかしい話である。
参照サイト:
Apple(Core Animation Programming Guide)
関連記事
-
-
User Defined Runtime Attributeについての覚書
UILabelに上下左右のパディングをつける方法を探して、結局「自分で以下のようなメソッドを持った拡
-
-
メソッドの呼び出し元を調べる
特定のメソッドに関して、そのメソッドをコールしているメソッド群を調べるための手順。 (1)調べたい
-
-
Realmで==ができなかった
最近Realm Swiftを使ってて、引っかかったところがあるのでメモ。 Realmのオブジェクト
-
-
NSStringのフォーマット書式
Appleのページになく、IEEEのprintfフォーマットのページにあるので、C言語と親しくしてな
-
-
UITableViewのセクションヘッダをStoryboardで作る時の参考
UITableViewのセクションヘッダをカスタムして作る際に、セルと同様にプロトタイピングするため
-
-
ENMLからHTMLへの変換
最近EvernoteAPIをいじっているので、コレに関するノウハウをとりあえず断片的に引っかかったと
-
-
UIActionSheetが消えるときにキーボード表示/非表示通知が来る
UITextViewやUITextField編集中にアクションシートを表示すると、アクションシート
-
-
アプリ内で自動スリープの設定を無効化する
「設定」アプリ内で設定したスリープ時間設定を無効にするためのコード。 アプリがバックグラウンドにな
-
-
plistファイルに色を入れる
plistファイル中にUIColorを入れたい!という場合。普通RGBAの値を数値で入れるとかするけ
-
-
bitbucketをXcode5で使用する
bitbucketは無償で5人までの少人数チーム用のクローズド(非公開)リポジトリを作成できるため、
