私はこれを理解することはできません。
私には見解があります。
それはスピードメーターです。
スピードメーターに針を入れました:
- (id) initWithFrame: (CGRect) frame
{
self = [super initWithFrame: frame]; // [super initWithCoder: coder];
if (! self)
return nil;
:
:
:
self.needle = [ [ [Needle alloc] initWithMaxRadius: 0.5*300
[self.layer addSublayer: needle.layer];
self.needle.layer.position = CGPointMake( frame.size.width / 2, frame.size.height / 2 );
return self;
}
針オブジェクトには CALayer プロパティが含まれています。
針は、フレームごとに自分自身を配置します。独自の表示リンク ハンドラーを設定し、このレイヤーで変換を実行します。
突然、ビューの layoutSubviews メソッドがフレームごとにヒットします。
この振る舞いが理解できません。
このメソッドがヒットする SUPERview の変更を理解できます。しかし、サブレイヤーはどのようにこれを強制できますか?
確かに、サブレイヤーはその親に翻弄されるべきですか?
設定してみた
self.autoresizesSubviews = NO;
これは明らかに効果がありません
私が探している物件は
self.getsAutoresizedBySubviewsOrLayers = NO;
何が起こっている?