我正在创建一个NSView,在其drawRect方法中创建并添加一个NSImageView作为子视图。
我想旋转这个NSImageView(circleView)或[self]。因此,我尝试使用另一种方法:
-(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但似乎都不起作用...
最佳答案
您只是在定义动画,实际上并没有在调用执行动画的动画块。
您需要调用以下之间定义的块:
+ beginAnimations:context:
+ commitAnimations
实际运行动画。
Edit01:我不好。我没有注意标签,而是为iPhone API添加了答案。
关于cocoa - 旋转包含NSImageView的NSView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2267710/