アプリケーションによっては、タスク実行中やオフラインなどを示すために、一瞬だけメッセージを出したいことがあります。DropboxSDK内にはそれを実現するクラスDBLoadingViewが用意されています。このクラスはUIActivityIndicatorView (歯車) や指定したアイコンとメッセージを表示させる機能を持っています。Dropboxだけで使うことを想定しているためか、サンプルのDBRouletteでは使われていませんし、用意されているインタフェースも非常に単純です。しかし、ソースがシンプルで非常にわかりやすいため、修正するのも用意です。

表示するためのコードは次のようになります。アニメーション指定はなく、瞬間表示しかできません。
1 2 | loadingView = [[DBLoadingView alloc] initWithTitle:@ "読み込み中..." ]; [loadingView show]; |
次のように表示されます。

非表示にするときはフェードするかしないかを選べます。ただし、フェードアウトの時間はソース内部で0.8秒に固定されており、指定することができません。
1 2 | [loadingView dismissAnimated:FALSE]; [loadingView release]; loadingView = nil; |
UIActivityIndicatorViewの代わりに使う画像を指定することができます。
1 2 3 | loadingView = [[DBLoadingView alloc] initWithTitle:@ "オフライン" ]; [loadingView setImage:[UIImage imageNamed:@ "offline.png" ]]; [loadingView show]; |

DBLoadingViewのメソッドは次の5つだけです。
- - (id)initWithTitle:(NSString*)title;
- - (void)show;
- - (void)dismissAnimated:(BOOL)animated;
- - (void)setImage:(UIImage*)image;
- - (void)setOrientation:(UIInterfaceOrientation)orientation;
メソッドsetOrientation:
では名前のとおり画像の向きを変更することができます。
1 2 3 | loadingView = [[DBLoadingView alloc] initWithTitle:title]; [loadingView setOrientation:UIInterfaceOrientationPortraitUpsideDown]; [loadingView show]; |

0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。