UIViewに奇妙な問題があります:
長時間実行されているアクティビティを示すために、InterfaceBuilderで作成したアクティビティインジケータビューを表示したいと思います。
プリンシパルviewControllerのviewDidLoad関数で、次のようにActivityIndicatorビューを初期化します。
- (void)viewDidLoad {
[super viewDidLoad];
appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
load = [[ActivityIndicatorViewController alloc] init];
...
ボタンを押すと、これはIBActionと呼ばれます。
- (IBAction)LaunchButtonPressed{
// Show the Activity indicator view.
[self.view addSubview:load.view];
// eavy work
[self StartWorking];
// Hide the loading view.
[load.view removeFromSuperview];
}
StartWorking関数で、インターネットサーバーにリクエストを送信し、返されるXMLファイルを解析します。
問題は、StartWorking関数を呼び出すと、アプリケーションがアクティビティインジケータービューを表示することではなく、StartWorking関数を使用して起動することです。一方、StartWorking関数の呼び出しを削除すると、ビューが表示されます。
誰かが私に理由を説明することができますか?:s