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

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

非表示にするときはフェードするかしないかを選べます。ただし、フェードアウトの時間はソース内部で0.8秒に固定されており、指定することができません。
[loadingView dismissAnimated:FALSE]; [loadingView release]; loadingView = nil;
UIActivityIndicatorViewの代わりに使う画像を指定することができます。
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:
では名前のとおり画像の向きを変更することができます。
loadingView = [[DBLoadingView alloc] initWithTitle:title]; [loadingView setOrientation:UIInterfaceOrientationPortraitUpsideDown]; [loadingView show];

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