动画和子视图有问题

时间:2011-08-01 15:25:56

标签: ios animation subview

我有一个UIImageView(100x100px),当用户点击图像时,我想做一个动画,将图像全屏显示。

动画是将帧更改为全屏的组合,以及用于旋转图像的CABasicAnimation。

我这样设置了这个:

[self.view bringSubviewToFront:imageView];

CGRect originalFrame = CGRectMake(20.0, 20.0, 100.0, 100.0);
CGRect fullFrame = CGRectMake(0.0, 0.0, 320.0, 320.0);

CGRect newFrame = (isImageFullScreen ? originalFrame : fullFrame);

CABasicAnimation* spinAnimation = [CABasicAnimation
                                   animationWithKeyPath:@"transform.rotation.y"];
spinAnimation.duration = 0.5;
spinAnimation.toValue = [NSNumber numberWithFloat:2*M_PI];

[imageView.layer addAnimation:spinAnimation forKey:@"spinAnimation"];


[UIView animateWithDuration:0.6
                      delay:0.25 
                    options:UIViewAnimationOptionTransitionNone
                 animations:^{
                                imageView.frame = newFrame;
                                button.frame = newFrame;
                             } 
                 completion:nil];

问题在于旋转动画。 在我看来,当图像旋转时,还有一些其他子视图保持在顶部。

如何使这项工作能够使图像在我的其他子视图之上显示动画?

1 个答案:

答案 0 :(得分:0)

找到解决方案。

添加了: imageView.layer.zPosition = imageView.layer.bounds.size.width;