2012-08-15 76 views
1

我是用XCode和Objective-C開發的新手,我希望你能幫助我。如何在一個UIViewController中動態創建多個UITableViews

問題是,我有一個UITableViewController與UITableView(使用InterfaceBuilder創建)。

部分標題下的單元格是可擴展的。

現在我想在現有的TableView下動態創建多個UITableViews。

樣式將與現有的TableView樣式相同。

你能告訴我如何以編程方式創建這些TableViews?

非常感謝您

邁克爾

+0

你看過進行分組表格視圖嗎? – 2012-08-15 14:37:06

+2

爲什麼要在多個表格視圖中輕鬆製作一個單獨的表格? – 2012-08-15 14:37:38

+0

@DROPtableusers:不,我沒有,但感謝我現在要去做。 是否有可能在每個組中創建部分? – Michael 2012-08-15 14:45:06

回答

0

從你說的話儘量使用分組表視圖。查看此鏈接以進行快速瀏覽,然後轉到分組表格視圖部分。

編輯發現這個例子here

好像是你在找什麼。還有一個非常酷的想法。

您必須製作自己的自定義標題行,並將其作爲每個部分的第一行。子類化UITableView或現在在那裏的頭文件可能會是一個巨大的痛苦,我不確定你現在可以輕鬆地從他們的工作方式中獲得操作。你可以很容易地將一個單元格設置爲看起來像一個標題,並設置tableView:didSelectRowAtIndexPath以手動展開或摺疊它所在的部分。

如果我是你,我會存儲一個布爾值數組,對應每個部分的「擴展」值。然後,您可以在每個自定義標題行上使用tableView:didSelectRowAtIndexPath來切換此值,然後重新加載該特定部分。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (indexPath.row == 0) { 
     ///it's the first row of any section so it would be your custom section header 

     ///put in your code to toggle your boolean value here 
     mybooleans[indexPath.section] = !mybooleans[indexPath.section]; 

     ///reload this section 
     [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:UITableViewRowAnimationFade]; 
    } 
} 

你會再設置你的電話號碼numberOfRowsInSection檢查mybooleans價值和回報是1,如果不擴大的部分,或1+如果擴大了部分項目的數量。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 

    if (mybooleans[section]) { 
     ///we want the number of people plus the header cell 
     return [self numberOfPeopleInGroup:section] + 1; 
    } else { 
     ///we just want the header cell 
     return 1; 
    } 
} 

您還必須更新您的cellForRowAtIndexPath以返回任何節中第一行的自定義標題單元格。

+0

@Michael你不能只是使用不同的組作爲部分? (也許我不明白你想要做什麼?) – 2012-08-15 14:59:47

+0

在這裏好吧快速草稿,我將需要: http://desmond.imageshack.us/Himg36/scaled.php?server=36&filename=owno .png&res =登陸 – Michael 2012-08-15 15:08:37

+0

好吧我只需要設置節標題的文本,我得到了我想要的全部:D 非常感謝您使用分組風格的提示:) – Michael 2012-08-15 15:23:14

相關問題