CALayerをサブクラス化して、事前にスタイル設定されたレイヤーを返すにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/823135

質問

スタイリングプロパティが既に設定されたレイヤーを返すようにCALayerをサブクラス化するにはどうすればよいですか

そのため:

MyCustomLayer *layer = [MyCustomLayer layer];

これらのプロパティを持つレイヤーを作成します;

layer.backgroundColor = sweetBackgroundColor.CGColor;
layer.borderColor = sweetBorderColor.CGColor;

layer.borderWidth = 2.0;
layer.cornerRadius = 8.0;

フレームを設定してツリーに追加するだけです。

しかし、私の質問は、オブジェクトをサブクラス化して、作成時にプロパティが既に設定されているようにするにはどうすればよいのかということです。可能ですか?

役に立ちましたか?

解決

サブクラスで-init(CALayerの指定された初期化子)をオーバーライドし、それらのプロパティをオーバーライドで設定します。 -layerを含むすべての作成メソッドは、指定されたイニシャライザーを介してルーティングする必要があります。これは、便利なコンストラクターでも追加のセットアップが行われることを意味します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top