我在iPhone上使用標準導航器界面。當我從最高級別的tableview移動到下一個級別時,我必須從核心數據加載大約2000條記錄,這可能需要5-10秒,所以我想使用活動指標。活動指示燈未顯示在iPhone上
我也做了下面的代碼,如果我在DidSelect方法刪除代碼的工作,但從未否則會出現指示,即使觀點仍在等待那裏,而另一種觀點認爲負載。以下是方法:
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath;
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
//-- start activity indicator (will be stopped when view disappears)
UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath];
[cell.contentView addSubview:m_activityIndicator];
[m_activityIndicator startAnimating];
return indexPath;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
//--show the listViewController
CardListViewController *listViewController = [[CardListViewController alloc] initWithNibName:@"CardListViewController" bundle:nil];
NSString* selectedCardTypeName = [rootSelectionList objectAtIndex:indexPath.row];
enum CardTypes selectedCardType = cardTypeIDFromCardTypeName(selectedCardTypeName);
listViewController.selectedCardType =selectedCardType;
[self.navigationController pushViewController:listViewController animated:YES];
[listViewController release];
}
如何在開始處理下一個listviewcontroller之前強制顯示活動指示符?
可惜setNeedsDisplay沒有工作,但我很感興趣關於表的延遲加載的建議。 在我讀這個例子之前,如果它是一個帶有搜索功能的索引表,它會非常複雜嗎? – WaterBoy 2010-08-27 03:36:40
你不需要注意索引或搜索。對於你的情況,你可以考慮你將只有一個部分,並忘記搜索。你應該真正理解的是爲什麼和在哪裏調用[self loadImagesForOnscreenRows];那就是延遲加載完成的地方。 – vfn 2010-08-27 04:09:29
我當時一看,但我不認爲我有把所有的記錄,其用於填充我的索引列表的tableview「名字」這將有利於我。如果我得到這個名字,我不妨得到完整的記錄。 – WaterBoy 2010-08-27 05:56:27