2010/09/27

タスク実行中などの状態を示すためのクラスDBLoadingView

アプリケーションによっては、タスク実行中やオフラインなどを示すために、一瞬だけメッセージを出したいことがあります。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 件のコメント:

コメントを投稿

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