私は自分のloadingViewを構築しましたが、今は良さそうです。しかし、このloadingViewを表示および削除する適切なタイミングがわかりません。UIButton を持つ最初の RootViewController で NavigationController を使用します。UIButton を押すと新しい UIView が表示されますが、サーバーからいくつかのファイルをロードしているため、これには数秒かかります。そのため、この間、loadingView を表示したいと思います。私は prepareForSegue()-Method を使用し、そこにコードを配置して、このような読み込みビューを追加します
[self.navigationController.view addSubview:backgroundLoadingView];
そしてviewDidDisapperarにこのコード行を入れました
[backgroundLoadingView removeFromSuperview];
その効果は、UIButton を押しても (ファイルの読み込みのため) 数秒間何も起こらず、loadingView がポップアップしません (ただし、そうすべきです)、新しい ViewController が表示され、loadingView が 1 秒間ポップアップして消えます。
ですから、適切なタイミングで消えますが、適切なタイミングで表示されません。どうすればこの状況に対処できますか?
編集:
これが私のprepareForSegue-Methodです
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"showPointsOnMap"])
{
NSLog(@"Here is prepareForsegue()");
[self.navigationController.view addSubview:backgroundLoadingView];
[self prepareJSONData:[self getJSONData]];
[segue.destinationViewController setPointArray:thePointArray];
}
}