2012-10-29 80 views
0

我有一個關於Xcode上的UITableView的問題。我在單元格中有文本,但是當我測試它時,它不顯示。我剛開始編程,所以任何幫助將不勝感激。如果有人可以給我發電子郵件,那麼我可以提供最有用的項目文件。Xcode 4.5 UITableView

+1

請出示一些代碼。 – user427969

回答

1

您需要了解表視圖的工作方式。我建議您仔細閱讀一些關於此主題的優秀在線文檔,包括示例代碼(如果可用)。

您需要記住系統負責決定表視圖的哪些部分應該可見,然後請您的代碼提供應該看到的內容的詳細信息。

如果您實際提供了提供單元內容的例程,請嘗試放入斷點或某些日誌記錄以確保您的代碼正在被調用。如果是這樣,首先返回一些簡單的內容並驗證它是否顯示。

另外,準備代碼並說明它是如何添加到問題中的。你永遠不知道,只是這樣做可能會澄清你的問題。如果沒有,請張貼並給別人一個機會來幫助你。

0

我不能直接解決你的問題,因爲你令人驚訝地沒有給出代碼,所以據我所知,你可能會錯過一個分號! (JK)

這是一個詳細的答案,我前一陣子給了別人,你的情況

但對於一個表視圖使用此代碼非常重要:

- (UITableViewCell *)tableView:(UITableView *)tableView2 cellForRowAtIndexPath:(NSIndexPath *)indexPath 

{ 


    UITableViewCell *cell = [tableView 
          dequeueReusableCellWithIdentifier:@"UITableViewCell"]; 


    if (cell == nil) { 

     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault 
             reuseIdentifier:@"UITableViewCell"] 
       autorelease]; 


     cell.textLabel.text = nil;     


    } 

    if (cell) { 

     //customization 
     cell.textLabel.text = @"Text Label"; 
    } 

    return cell; 
} 

你說你開始編碼....讓我解釋一下。首先嚐試拿起書:

大書呆子牧場指南

我建議你閱讀的書籍赫克負載,讓你的語言和API以及編程技巧果汁了

出列基本上nilling並緩存任何不可見的單元格,也就是你滾過它。因此,cell == nil將大概在四種情況被稱爲(我能想到的):

當我們第一次設置表格視圖(細胞會無) 當我們重新載入數據 每當我們可以在 當這個類到達這些單元格從表格視圖中不可見 因此,出列標識符就像一個ID。然後在語句中查看單元格是否爲零,我們初始化單元格,您可以看到重寫的init方法:initWithStyle。這是什麼類型的單元格,有不同的類型可以定製不同的變量。我向你展示了默認設置。然後我們使用重用標識符,它是我們之前說過的出列標識符。他們必須匹配!我爲nil textLabel只是爲了更好的結構,在這種情況下,每個單元格都有相同的文本,所以它真的沒有關係。它使得出隊單元可以通過您實現的正確定製返回。然後,一旦細胞真的有效,我們可以自定義。

此外,您正在爲每個單元格使用相同的文本。如果您確實想爲每個單元格設置不同的文本,請熟悉NSArray。然後,你可以提供numberOfRowsForSection數組計數,然後做這樣的事情:

cell.textLabel.text = [array objectAtIndex: [indexPath row]]; 

凡indexPath是cellForRowAtIndexPath方法中提供的NSIndexPath參數。行變量是行號,所以一切都合適!

哇,這是很多采取權利!現在,請停止成爲一個Objective-C noob並開始閱讀一些書!

欲瞭解更多信息閱讀:

Table View Apple Documentation