私はiPhoneゲームの通知システムに取り組んでおり、画面に画像がポップアップ表示され、2秒後に自動的にフェードするようにします。
これを行う方法はありますか?事前に感謝します。
UIView
専用のメソッドを使用してください。
したがって、すでにUIImageView
の準備ができており、既に作成されてメインビューに追加されているが、単に非表示になっていると想像してください。あなたのメソッドは単にそれを見えるようにし、2秒後にアニメーションを開始してフェードアウトし、「alpha」プロパティを1.0から0.0にアニメーション化します(0.5秒のアニメーション中):
-(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;
}];
}
そのような単純な!
In 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
})
ここで、overlayは画像のアウトレットです。
@ AliSoftwareの答えのSwift 3バージョン
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
}
はいあります。 UIView
ブロックベースのアニメーション ここ を見てください。そして、例のためにグーグル。
+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations
timer を開始することもできます
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)seconds target:(id)target selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)repeats