2012-03-27 168 views
1

好吧我正在調用Web服務來取回策略。用戶可以有多個策略,這些策略應該有自己的表(請注意,表中沒有自己的部分)。這些表格中可能有未知數量的行,具體取決於政策修訂的數量和政策本身。所以我需要動態生成這個表到UIScrollView。有誰知道我該怎麼做?如果你不瞭解我,請問。動態生成UITableViews

回答

3

您可以創建UITableViews編程與

UITableView *tableView = [[UITableView alloc] init]; 

然後設置視圖控制器是表視圖的委託和數據源:

tableView.delegate = self; 
tableView.dataSource = self; 

和表視圖添加到您的滾動視圖像這樣:

tableView.frame = CGRectMake(0, 0, 320, 500); //use whatever frame you want here 
[self.scrollView addSubview:tableView]; 

爲了跟蹤表視圖,您可以使用與每個標籤關聯的標籤。這些可能最好定義爲.m文件頂部的常量。你可以適當地命名它們,這樣你就知道表視圖應該用於什麼策略。例如,在您.m文件的頂部:在創建表視圖

#define kFirstPolicyTableViewTag 1 

,然後當:

tableView.tag = kFirstPolicyTableViewTag; 

然後,與任何委託或數據源的方法處理時,請檢查讓你知道你正在處理的是哪一個。例如:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    switch (tableView.tag) { 
     case kFirstPolicyTableViewTag: { 
      //return the number of rows for that tag 
     } 
    } 
} 
+0

感謝非常詳細。 +1 – Popeye 2012-03-27 16:49:41

+0

謝謝+1已幫助 – Popeye 2012-03-27 16:52:40

2

我建議創建一個分段表格視圖。所以你可以在每個部分加載策略。並且您可以在每個部分提供一些部分標題以提供更多信息。

+0

我想這樣做,因爲它很容易,但我被指示以另一種方式做。客戶很痛苦。 – Popeye 2012-03-27 15:19:18

+0

感謝+1幫助 – Popeye 2012-03-27 16:52:55

2

對於N政策的教科書方法,每個具有M修正(包括N和M任意的和潛在的大)是與UINavigationController的在根級策略的表。選擇一行(策略)將推送到包含該策略修訂表的策略詳細信息視圖控制器。

+0

感謝+1。這基本上是我這樣做的方式,但因爲客戶已經傳遞了他們希望如何工作的細節,所以我不得不改變它。 – Popeye 2012-03-27 16:52:07