儘快開始,我有一個表在viewControllers之一。當其中一行被點擊時,它會將用戶轉到不同的視圖/視圖控制器,並且它可以工作。在這個新的viewController中,數據正在從後臺的php腳本解析。獲取微調的觀點在我的應用程序加載
這大約需要7-10秒,在這個時候,我希望用戶立即看到一個微調,上面寫着「中..」。我有這個實現自己,但微調不啓動加載到4-5秒。在此期間,屏幕是完全凍結,我不能挖掘任何東西,直到顯示旋轉/數據回去。
我試圖把下面的代碼放在實際獲取數據的方法中,同時在兩個(而不是同一時間)viewDidAppear和ViewDidLoad方法,但同樣的事情發生。
如果有人知道如何解決這個問題,這將是大加讚賞。
謝謝
[web loadRequest: [NSURLRequest requestWithURL: [NSURL URLWithString:@"http://xxx.xx.xx.xxx/stuff/xxx.php"]]];
[web addSubview:spinner];
timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector: @selector(tick) userInfo:nil repeats:YES];
load_message = [[UIAlertView alloc] initWithTitle:@"Loading..." message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:nil];
spinner= [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
spinner.center = CGPointMake(135.0, 60.0);
[load_message addSubview:spinner];
-(void) tick
{
if(!web.loading)
{
[spinner stopAnimating];
[load_message dismissWithClickedButtonIndex:0 animated:TRUE];
}
else {
[load_message show];
[spinner startAnimating];
}
}
謝謝你的回覆傑里米。我會在哪裏調用某種方法?在viewDidAppear?因爲在那之前,我正在呼籲我的長期處理方法。謝謝 – Teddy13 2012-01-05 06:22:43
Nvm我解決了它。謝謝! – Teddy13 2012-01-05 06:42:07