DropitBehavior
から継承された というクラスがありUIDynamicBehavior
ます。my には 2 つのプロパティがありますUIViewController
。
@property (strong, nonatomic) UIDynamicAnimator *animator;
@property (strong, nonatomic) DropitBehavior *dropitBehavior;
遅延初期化子は以下に定義されています。そして、アニメーションは正しく実行されます。
- (UIDynamicAnimator *)animator
{
if (!_animator) {
_animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.gameView];
//[_animator addBehavior:self.dropitBehavior];
}
return _animator;
}
- (DropitBehavior *)dropitBehavior
{
if (!_dropitBehavior) {
_dropitBehavior = [[DropitBehavior alloc] init];
[self.animator addBehavior:_dropitBehavior];
}
return _dropitBehavior;
}
addBehavior
しかし、イニシャライザを呼び出すとanimator
、アニメーションはまったくありません。私が理解している限り、アニメーションは両方の方法で実行する必要があります。2番目の方法の何が問題になっていますか?