2010年12月26日日曜日

[iOS] UIViewをゆっくりと隠す

参考元:iPhoneSDKのUIViewアニメーション

UIViewの派生ビューであれば、簡単にできます。

読み込み待ちをメッセージ表示するのに利用しました。

読み込み中であれば、次のビューを表示します。


ただ、読み込みが一瞬で完了すると、すぐに消えてしまい、何が表示されてたかわかりません。
そこで、一瞬で完了しても、ゆっくりと非表示にするようにします。

そのソースが以下になります。

if (isHidden) {// 非表示有無
    // ゆっくりと隠す
    CGContextRef context = UIGraphicsGetCurrentContext();
    [UIView beginAnimations:nil context:context];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationDuration:0.5f];// アニメーションを完了させる時間
    [self.waitView setAlpha:0.0f];// アニメーション内容(非表示)
    [UIView commitAnimations];
} else {
    // すぐに表示
    [self.waitView setAlpha:1.0f];// アニメーション内容(表示)
}

たった数行書くだけで、アニメーションを実現できるって、フレームワークの機能は充実してますね。

0 件のコメント:

コメントを投稿