2011-05-16 54 views
0

將多個樣式合併成一個UITableView的最佳方式是什麼?多個樣式在一個UITableView中

例如,在iTunes音樂商店應用程序(音樂選項卡)中,頂部有廣告,然後是大圓形表格單元格,然後是分組樣式的表格單元格等。我正在尋找一個自定義視圖單元格頂部,然後是幾行分組樣式的表格單元格,然後是幾行簡單樣式的表格單元格。

我目前正在使用UITableViewStyleGrouped初始化我的UITableView,它適合我需要的分組樣式單元格,但我無法找到覆蓋單個單元格樣式的好方法,以便可以創建其他樣式細胞。

有什麼建議嗎?

+1

iTunes商店視圖可能是一個單獨的UITableViewStyleGrouped,帶有幾個部分,一個標題(廣告)和頁腳(條款和條件)。如果這就是你所需要的外觀,那就是你所需要的。你在哪裏看到簡單風格的細胞? – kball 2011-05-16 02:30:21

+0

是的,你是對的 - iTunes Store中沒有簡單的單元格。但我正在使用他們在我正在建設的東西。在相同的桌子視圖中是否可以同時使用分組風格和簡單風格? – redhotvengeance 2011-05-16 02:40:41

回答

0

你在談論的表格樣式(一個具有的視圖的全寬度細胞的其他具有線條背景和圓角部分的角落)。

您可能可以通過使用滾動視圖和2個嵌入表格視圖來禁用滾動功能,但我不會推薦它。你不應該在滾動視圖中放置表格視圖,它不會非常適用於Appley和HIGy - 爲自己的頭痛準備。

您可能想要考慮重新考慮您的視圖結構。

+0

是的,我開始思考同樣的事情。我正在盡我所能來匹配一個設計,但現在我想我只需要改變它,並使所有組件都基於分組。謝謝! – redhotvengeance 2011-05-16 03:34:53

0

一些東西:您可以將UITableViewtableHeaderViewtableFooterView屬性設置爲自定義視圖,以便獲得您正在討論的iTunes Music Store應用程序屏幕的大部分內容。剩下的就是返回不同的UITableViewCell類型取決於哪個部分你是:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    switch (indexPath.section) { 
    case 0: 
     // return a cell with the first section's style 
     break; 
    case 1: 
     // return a cell with the second section's style 
     break; 
    } 
} 
+0

這是否會造成與細胞重複使用的衝突?每次調用這個方法時,如果必須返回一個新的單元格,仍然可以使用dequeueReusableCellWithIdentifier嗎? – redhotvengeance 2011-05-16 02:37:49

+0

是的,你仍然使用'dequeueReusableCellWithIdentifier''只爲每種單元格使用不同的標識符。 – 2011-05-16 02:41:11

+0

謝謝 - 這是有道理的。但我不確定我的問題與'UITableViewCellStyle'是如何與'UITableViewStyle'一樣。看起來,與簡單樣式和分組樣式單元格相關的樣式是在表視圖級別完成的,而不是單元級別,是正確的?或者有沒有辦法讓UITableView的一部分用'UITableViewStylePlain'來設置樣式,而另一部分則用'UITableViewGrouped'來設置樣式? – redhotvengeance 2011-05-16 03:14:52