2011-04-15 38 views
0

情況: 我試圖顯示加載屏幕,同時等待我的異步連接返回數據填充tableview。Tableview線顯示槽加載視圖

問題: 創建和加入loadingscreen工作正常,但是,實現代碼如下超過它繪製它的線,見截圖:

the problem

代碼:我補充這些線路的觀點:

-(void) viewDidLoad{ 
    [super viewDidLoad]; 

    _loadScreen = [[LoadScreen alloc] initWithFrame:self.view.bounds]; 
    [self.view addSubview: _loadScreen]; 
    [self fetchRemoteData]; 
} 

問題:是否可以添加加載視圖ontop的表呢?或者我可以確保tableview不繪製其行,直到我調用reloadData?

-Thanks提前, W¯¯

回答

1

我已經做了很多這樣的時候:

-(void) viewDidLoad{ 
    [super viewDidLoad]; 

    _loadScreen = [[LoadScreen alloc] initWithFrame:self.view.bounds]; 
    [self.tableView addSubview: _loadScreen]; 
    self.tableView.hidden = YES; 
    [self fetchRemoteData]; 

} 

- (void)dataFetchedSuccessfully 
{ 
    self.tableView.hidden = NO; 
} 

只是隱藏的tableview,當數據被加載再次顯示它。

+0

啊,太棒了!有時候anwser比你想象的更簡單:) – Wolfert 2011-04-15 11:39:39

+0

不客氣:) – 2011-04-15 11:42:36

0

有,將解決你的問題的一些方法:

- 設置爲表視圖頁腳視圖,因此所有線路應該消失。

self.tableView.tableFooterView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease]; 

- 我假設你使用UItableViewController。如果是這樣self.view和self.tableView都表示了同樣的看法,所以通過設置:

self.tableView.hidden = NO; 

它會隱藏甚至您加載視圖。我鼓勵你做的是創建一個具有表視圖作爲其子視圖的自定義視圖。然後,您可以通過僅顯示加載視圖來隱藏此表格視圖。

希望我能幫上忙。

+0

你假設正確。但我已經修好了。我確實不得不將該類更改爲帶有可用視圖的uiviewcontroller。我只在連接返回時分配並添加tableView。 (Nick's anwser讓我意識到我必須這樣做,因爲隱藏tableviewcontroller的視圖會隱藏它中的所有視圖。) – Wolfert 2011-04-15 12:05:09

相關問題