![](/img/trans.png)
[英]SwiftUI View does not disappear instantly after the transition animation ends
[英]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包含的图像,并且“在图像前面播放”,然后被删除。 我建议使用UIImageView
的startAnimatingWithCompletionBlock
方法:
- (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.