2012-03-27 119 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