我正在开发iPhone游戏中的通知系统,并希望屏幕上弹出一个图像,并在2秒后自动淡出。
有没有办法做到这一点?提前谢谢。
答案 0 :(得分:55)
使用UIView
专用方法。
因此,假设您已经准备好了UIImageView
,已经创建并添加到主视图中,但只是隐藏了。你的方法只需要让它可见,并在2秒后开始动画淡出它,通过将其“alpha”属性设置为1.0到0.0(在0.5s动画期间):
-(IBAction)popupImage
{
imageView.hidden = NO;
imageView.alpha = 1.0f;
// Then fades it away after 2 seconds (the cross-fade animation will take 0.5s)
[UIView animateWithDuration:0.5 delay:2.0 options:0 animations:^{
// Animate the alpha value of your imageView from 1.0 to 0.0 here
imageView.alpha = 0.0f;
} completion:^(BOOL finished) {
// Once the animation is completed and the alpha has gone to 0.0, hide the view for good
imageView.hidden = YES;
}];
}
这很简单!
答案 1 :(得分:12)
在Swift和XCode 6中
self.overlay.hidden = false
UIView.animateWithDuration(2, delay:5, options:UIViewAnimationOptions.TransitionFlipFromTop, animations: {
self.overlay.alpha = 0
}, completion: { finished in
self.overlay.hidden = true
})
其中叠加层是我图像的出口。
答案 2 :(得分:3)
Swift 3版 @AliSoftware 的回答
imageView.isHidden = false
imageView.alpha = 1.0
UIView.animate(withDuration: 0.5, delay: 2.0, options: [], animations: {
self.imageView.alpha = 0.0
}) { (finished: Bool) in
self.imageView.isHidden = true
}
答案 3 :(得分:0)