我已經構建了我的加載視圖,現在看起來不錯。但我不能找出正確的時機顯示並刪除此loadingView。我使用一個NavigationController和我的初始RootViewController,它有一個UIButton。當按下UIButton時,會出現一個新的UIView,但這需要幾秒鐘的時間,因爲我正在從服務器加載一些文件。所以我想在這段時間顯示我的loadingView。我用的是prepareForSegue() - 方法還有我把代碼添加這樣如何正確實現加載屏幕
[self.navigationController.view addSubview:backgroundLoadingView];
,並在viewDidDisapperar我加載視圖我,就把這行代碼的
[backgroundLoadingView removeFromSuperview];
的效果是,當我按下UIButton幾秒鐘沒有任何事情發生(因爲加載文件)並且loadingView不會彈出(但我應該),新的ViewController出現,加載視圖彈出一秒並消失。 因此,它在我猜的正確時刻消失,但它沒有出現在正確的分娩中。我該如何處理這種情況?
編輯: 她的是我的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];
}
}如果你想顯示加載視圖,同時與服務器通信您應該添加到窗口不
您是否阻止了網絡請求的主線程? –