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)
関連記事
-
-
iPadのUIModalPresentationFormSheetでキーボードが閉じない
iPadでUIModalPresentationFormSheet(全画面ではなく、中央にフロートし
-
-
UISegmentedControlに見栄え良く背景色を設定する
UISegmentedControlをiOS7で使おうとすると、基本の背景色が「透明」になりますが、
-
-
アプリ内で自動スリープの設定を無効化する
「設定」アプリ内で設定したスリープ時間設定を無効にするためのコード。 アプリがバックグラウンドにな
-
-
iOS9でのNSFetchedResultsContollerDelegateの挙動
ハマったので短いながらメモしたいと思います。 NSFetchedResultsContollerD
-
-
コードでiPhone6 Plusを識別する簡単な方法
表題の通り、コードでiPhone6 Plusを識別する簡単な方法です。 iPhone6 Plu
-
-
UITableViewCellのロングタップ
UITableViewCellをロングタップしたときに、タップされたセルを認識しつつメニューを出した
-
-
App Storeのページにアプリケーションから直接アクセスする方法
去年(2013年)の秋ごろ、iOS7の出始めの時期に書かれたblog記事などを参考にすると、iOS6
-
-
AVAudioPlayerの初回再生遅延
ちょっとした効果音の再生にAVAudioPlayerを使っているのですが、どうも初回の効果音ロードの
-
-
UIActionSheetが消えるときにキーボード表示/非表示通知が来る
UITextViewやUITextField編集中にアクションシートを表示すると、アクションシート
-
-
”No Scheme”になってしまった場合の対応
知人がXcodeで突然「No Scheme」表示になってRunするターゲットとデバイスが選択できない
