從你說的話儘量使用分組表視圖。查看此鏈接以進行快速瀏覽,然後轉到分組表格視圖部分。
編輯發現這個例子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
以返回任何節中第一行的自定義標題單元格。
你看過進行分組表格視圖嗎? – 2012-08-15 14:37:06
爲什麼要在多個表格視圖中輕鬆製作一個單獨的表格? – 2012-08-15 14:37:38
@DROPtableusers:不,我沒有,但感謝我現在要去做。 是否有可能在每個組中創建部分? – Michael 2012-08-15 14:45:06