我正在尝试将旋转器添加到视图中,并使用以下代码对其进行动画化。它在iOS 6中的工作状态很好,但在iOS 7中却没有。旋转器不会旋转
这是使用旋转器创建图层的函数
- (CALayer *)spinnerLayer
{
CALayer *result = nil;
UIImage *spinnerImage = [UIImage imageNamed:@"spin.png"];
if (spinnerImage != nil)
{
CGSize size = [spinnerImage size];
CALayer *layer = [[CALayer alloc] init];
if (layer != nil)
{
[layer setFrame:CGRectMake(0.0, 0.0, size.width, size.height)];
[layer setContents:(id)[spinnerImage CGImage]];
CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
if (anim != nil)
{
[anim setToValue:@(M_PI * 2.0)];
[anim setRepeatCount:INFINITY];
[anim setDuration:1.0];
[anim setFillMode:kCAFillModeBoth];
[layer addAnimation:anim forKey:@"Rotation"];
}
result = [[layer retain] autorelease];
[layer release];
}
}
return result;
}
仅在显示图像视图的ViewController的viewDidAppear
中添加动画来修复它。
从这里有帮助的见解