繁体   English   中英

为什么动画后视图消失了?

[英]Why does the view disappear after an animation?

我一直在尝试使用此代码对图像进行动画处理。

  - (void)viewDidLoad
{

    dice.animationImages = [NSArray arrayWithObjects:
                            [UIImage imageNamed:@"image1.png"],
                            [UIImage imageNamed:@"image2.png"],
                            [UIImage imageNamed:@"image3.png"], nil];


    [dice setAnimationRepeatCount:3];
    dice.animationDuration = 1;


    [super viewDidLoad];
    // Do any additional setup after loading the view.
}

然后,我有一个使动画播放的按钮。

-(IBAction) animate:(id)sender {

[dice startAnimating];
}

一切正常。 动画播放3次,每次持续1秒。 但是,在动画播放3次之后,骰子图像视图只是从屏幕上消失了。 如何阻止这种情况的发生,使图像不会消失并且我可以对图像视图进行其他处理?

您在任何地方设置dice.image吗? 动画不同于imageView包含的图像,并且“在图像前面播放”,然后被删除。 我建议使用UIImageViewstartAnimatingWithCompletionBlock方法:

- (void) viewDidload {

    dice.image = [UIImage imageNamed:@"image3.png"]; // big assumption on my part
                                                     // the assumption is that this is the image you want
                                                     // after animating

    dice.animationImages = [NSArray arrayWithObjects:
                           [UIImage imageNamed:@"image1.png"],
                           [UIImage imageNamed:@"image2.png"],
                           [UIImage imageNamed:@"image3.png"], nil];

    [dice setAnimationRepeatCount:3];
    dice.animationDuration = 1

    [super viewDidLoad];
}

“块”是一行或多行代码的块,它们等待动画完成执行之后。 如果您事先设置图像,它将在动画运行时显示在“后面”,并且可能不是您想要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM