dynamic生成UITableViews
好的,我打电话给一个Web服务来取回政策。 用户可以有多个策略,这些策略是有自己的表(请注意,表中没有自己的部分)。 这些表格中可能包含未知数量的行,具体取决于政策修订的数量以及政策本身。 所以我需要dynamic生成这个表到UIScrollView。 有谁知道我怎么能做到这一点? 如果你不了解我,请问。
你可以用编程方式创buildUITableViews
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
然后在创build表视图时:
tableView.tag = kFirstPolicyTableViewTag;
那么,在处理任何委托或数据源方法时,请检查标记,以便知道正在处理哪个标记。 例如:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { switch (tableView.tag) { case kFirstPolicyTableViewTag: { //return the number of rows for that tag } } }
我build议创build一个分区表视图。 所以你可以在每个部分加载策略。 你可以给每个部分的部分标题,以提供更多的信息。
N个策略的教科书方法,每个都有M个修订(N和M都是任意的,也可能很大),是UINavigationController,在根目录有一个策略表。 select一行(策略)将推送到包含该策略修订表的策略详细信息视图控制器。