我已经构建了 loadingView,现在看起来不错。但是我想不出合适的时机来显示和删除这个 loadingView。我将 NavigationController 与具有 UIButton 的初始 RootViewController 一起使用。按下 UIButton 时会出现一个新的 UIView,但这需要几秒钟,因为我正在从服务器加载一些文件。所以我想在这段时间展示我的 loadingView。我使用 prepareForSegue()-Method 并在那里放置代码以添加我的加载视图,如下所示
[self.navigationController.view addSubview:backgroundLoadingView];
在 viewDidDisapperar 我把这行代码
[backgroundLoadingView removeFromSuperview];
效果是,当我按下 UIButton 几秒钟内没有任何反应(因为正在加载文件)并且 loadingView 没有弹出(但我应该),新的 ViewController 出现,loadingView 弹出一秒钟然后消失。
所以我猜它会在正确的时刻消失,但它不会在正确的时刻出现。我该如何处理这种情况?
编辑:
这是我的 prepareForSegue 方法
- (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];
}
}