CALayerをサブクラス化して、事前にスタイル設定されたレイヤーを返すにはどうすればよいですか?
-
05-07-2019 - |
質問
スタイリングプロパティが既に設定されたレイヤーを返すようにCALayerをサブクラス化するにはどうすればよいですか
そのため:
MyCustomLayer *layer = [MyCustomLayer layer];
これらのプロパティを持つレイヤーを作成します;
layer.backgroundColor = sweetBackgroundColor.CGColor;
layer.borderColor = sweetBorderColor.CGColor;
layer.borderWidth = 2.0;
layer.cornerRadius = 8.0;
フレームを設定してツリーに追加するだけです。
しかし、私の質問は、オブジェクトをサブクラス化して、作成時にプロパティが既に設定されているようにするにはどうすればよいのかということです。可能ですか?
解決
サブクラスで-init(CALayerの指定された初期化子)をオーバーライドし、それらのプロパティをオーバーライドで設定します。 -layerを含むすべての作成メソッドは、指定されたイニシャライザーを介してルーティングする必要があります。これは、便利なコンストラクターでも追加のセットアップが行われることを意味します。
所属していません StackOverflow