2010-12-03 89 views
1

我有一個plist分段tableview,這是一個充滿字典的數組。 在我的應用程序中,所有部分和單元格都顯示在第一個視圖上。 但現在我需要改變它看起來像這樣:部分必須成爲單元格(具有部分名稱)。當你按這個單元格時,單元格中包含的單元格已經出現。有沒有辦法將分段tableview更改爲深入tableview?

有沒有辦法做到這一點,沒有太多的重寫代碼?

感謝和抱歉noob問題:O)

回答

1

您將需要創建兩個表視圖類。一個用於保存節名的節點,另一節用於保存節的行。在第一個中,從plist中檢索節名並相應地填充表中的行。然後在- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath方法,你需要到其他視圖控制器推送到導航堆棧(像這樣提供的模板代碼):通過在信息讀取

// Navigation logic may go here. Create and push another view controller. 

    <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil]; 
    // ... 
    // Pass the selected object to the new view controller. 
    [self.navigationController pushViewController:detailViewController animated:YES]; 
    [detailViewController release]; 

然後換另一表視圖類,你填充它來自對應於挖掘部分的plist。希望這可以幫助。

+0

太好了,謝謝! – cybopob 2010-12-03 04:40:35

2

據我所知,你仍然想使用一個tableview,其中單元格對除了一個以外的所有部分都是隱藏的。在這種情況下,您可以這樣做:

  • 執行​​並在視圖上放置一個按鈕,您將返回。在按鈕標籤上寫下節號。使用參數(UIButton *)sender添加一個動作:` - (void)headerPressed:(UIButton *)sender
  • 您需要實現-tableView:heightforHeaderInSection: as-well。
  • -(void) headerPressed:(UIButton *)sender將發件人標記寫入成員整數並重新加載tableview。
  • in -tableview:numberOfRowsInSection:如果部分int不等於您保存的成員整數,則返回0。如果相等,則返回該部分中的行數。
+0

我可能會需要第二個tableview,因爲我正在使用自定義單元格,並且需要爲帶有分區標題的表格製作另一個tableview。 – cybopob 2010-12-03 04:39:18