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)
関連記事
-
-
ソースコードからStoryboardにアクセスする
複数のStoryboardを利用して、自分以外のStoryboardに遷移させるような展開をしたい場
-
-
NSAttributedStringをローカライズする方法
NSAttributedStringをLocalizeするうまい方法はないものかと探したら、これが手
-
-
FormSheetでModalに表示させたビューの高さを変更する
iPadにおいて、FormSheetでModal表示させたビューの高さを変えたい場合の記事。 この
-
-
Bitbucketの画面の日本語化/コミット時に同時プッシュを行う
前回の記事の続きで、Bitbucketの画面の日本語化と、Xcodeでコミットするときに同時にpus
-
-
plistファイルに色を入れる
plistファイル中にUIColorを入れたい!という場合。普通RGBAの値を数値で入れるとかするけ
-
-
UIButtonのタイトル変更時のチラつき抑制
久しぶりにXcode+Objective-Cでアプリを作っていたら、UIButtonのタイトルを動的
-
-
UIButtonのLocalizeに関するTips
Storyboardに設置したUIButtonのタイトルのLocalizeをしてたのですが、英語では
-
-
UICollectionViewのヘッダとフッタの設定
UICollectionViewで慣れないのがヘッダフッタで、毎度「どうやって設定するんだっけ…」と
-
-
User Defined Runtime Attributeについての覚書
UILabelに上下左右のパディングをつける方法を探して、結局「自分で以下のようなメソッドを持った拡
-
-
UITableViewCellのロングタップ
UITableViewCellをロングタップしたときに、タップされたセルを認識しつつメニューを出した
