Copyright (C) iPhoneアプリ開発備忘録 All rights reserved.
ブログ内で記したコード、内容の正確性は保証いたしません。
記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。



2009年10月21日

半透明の画面を被せてActivityIndicatorを表示させる



インターネット接続中は、ActivityIndicatorを使ってネットにアクセス中であることを表示させるのが望ましい。

これは、
ActivityIndicatorを表示させる場合、
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

ActivityIndicatorを消去する場合、
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
で実装できる。

但し、これは画面最上部(バッテリ残、キャリア、3G/WiFi表示)に表示される。
利用者にネットワークアクセス中であることを、もっとはっきり明示する方法として、UIActivityIndicatorViewを使用し、半透明の画面を親画面の上に被せて(addView)表示する方法がある。その実装コード。


hoge.h
@interface hoge : UIViewController {
UIView* loadingView; // 処理中インジケータ画面
UIActivityIndicatorView* indicator; // 処理中インジケータ
}
@property (nonatomic, retain) UIView *loadingView;
@property (nonatomic, retain) UIActivityIndicatorView *indicator;
@end



hoge.m
#import "hoge.h"

@implementation hoge

@synthesize loadingView;
@synthesize indicator;

- (void)netAccessStart {

// ネットワークアクセスインジケータON(画面中央)
loadingView = [[UIView alloc] initWithFrame:[[self view] bounds]];
[loadingView setBackgroundColor:[UIColor blackColor]];
[loadingView setAlpha:0.5];
indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[[self view] addSubview:loadingView];
[loadingView addSubview:indicator];
[indicator setFrame:CGRectMake ((320/2)-20, (480/2)-60, 40, 40)];
[indicator startAnimating];

}

- (void)netAccessEnd {

// 画面中央の処理中インジケータ表示OFF
[indicator stopAnimating];
[loadingView removeFromSuperview];

}

- (void)dealloc {
[loadingView release];
[indicator release];

}

 
 
タグ:iPhone
posted by mobileDeveloper at 00:28 | Comment(0) | TrackBack(0) | UIActivityIndicatorView はてなブックマーク - 半透明の画面を被せてActivityIndicatorを表示させる | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
Apple、Appleのロゴ、App Store、iPodのロゴ、iTunesは、米国および他国のApple Inc.の登録商標です。
iPhone、iPod touch、iPadはApple Inc.の商標です。
iPhone商標は、アイホン株式会社のライセンスに基づき使用されています。
その他、本ブログに記載されている製品名、会社名は、それぞれ各社の商標または登録商標です。