インターネットからのデータが必要なUITabBar + UINavigationControllerアプリケーションがあります。時にはそれが得られるまでにはしばらく時間がかかることがあるので、私は活動指標を示したいと思います。iPhoneのUITabBarアプリケーションのアクティビティインジケータ
私は何をしようとしていたことは、私のapplicationDidFinishLaunchingメソッドで私の窓にactivityViewを追加することです:
[window addSubview:tabBarController.view];
fullscreenLoadingView.hidden = YES;
[window addSubview:fullscreenLoadingView];
そして私は、デフォルトの通知センターにオブザーバーとしてアプリケーションデリゲートを追加します。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(startFullscreenLoading:) name:@"startFullscreenLoading" object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(stopFullscreenLoading:) name:@"stopFullscreenLoading" object:nil];
を実装し、メソッドを実装します。
- (void)startFullscreenLoading:(NSNotification *)notification {
fullscreenLoadingView.hidden = NO;
}
- (void)stopFullscreenLoading:(NSNotification *)notification {
fullscreenLoadingView.hidden = YES;
}
[[NSNotificationCenter defaultCenter] postNotificationName:@"startFullscreenLoading" object:self];
をしかし、私はstartFullscreenLoadingナビゲーションコントローラのいずれかから、それを使用する場合:直接applicationDidFinishLaunchingメソッドで期待どおりのローディングインジケータビューはUPPを示しメソッドが呼び出されたが、私は、ローディングインジケータビューが表示されません。何故ですか?
私はメインスレッドでロードしていないことを理解しています。メインスレッドが最初に通知を送信し、メソッドを調整した後、データロードを行うと考えました。しかし、大丈夫です、私は、他のスレッドで読み込もうとしています。 – Jeena
ありがとう、それは私の問題で、今修正されました:-) – Jeena