NSImageViewを保持しているのNSViewの回転
-
20-09-2019 - |
質問
私はそののdrawRectメソッドで作成し、サブビューとしてNSImageViewを追加するNSViewのを、作成しています。
私はこのNSImageView(circleView)、または[自己]を回転したいです。だから、別の方法では、私はそれを実行しようとしています:
-(void)startAnimation {
CABasicAnimation* spinAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
spinAnimation.toValue = [NSNumber numberWithFloat:5*2*M_PI];
spinAnimation.duration = 2;
[circleView.layer addAnimation:spinAnimation forKey:@"spinAnimation"];
}
メソッドが呼び出されたときにしかし、このコードは何もしません。私が何か間違ったことをやっていますか?私はself.layerとcircleView.layerを試みたが、どちらも動作するようには思えません...
解決
<ストライキ> Your'reだけでアニメーションを定義する、あなたが実際にアニメーションを行いアニメーションブロックを呼び出していません。 ストライキ>
<ストライキ>あなたは間に定義ブロックを呼び出す必要があります:
+ beginAnimations:context:
+ commitAnimations
ストライキ> <ストライキ>実際にアニメーションを実行します。 ストライキ>
Edit01:私の悪いです。私は、タグに注意を払い、iPhoneのAPIのための答えを追加しませんでした。
他のヒント
この問題に対する答えは、NSViewの/ NSImageViewはしてアニメーションを行うためのバッキング層を持っていなかったということです。
あなたはでこれを設定します:
[NSView setWantsLayer:YES];
所属していません StackOverflow