我UITableView
在 a 中使用了两个 s UIViewController
,如何填充两个表格视图中的行和单元格?当我给第二个表格视图时,它说重复声明部分中的行数等。
问问题
16491 次
4 回答
17
这就是为什么 dataSource/delegate 方法有一个tableView
参数。根据其值,您可以返回不同的数字/单元格/...
- (void)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (tableView == _myTableViewOutlet1)
return 10;
else
return 20;
}
于 2012-08-06T06:43:27.497 回答
2
您的所有UITableViewDelegate
和UITableViewDatasource
方法将只实施一次。您只需要检查正在调用该方法的表视图。
if (tableView == tblView1) {
//Implementation for first tableView
}
else {
//Implementation for second tableView
}
这将适用于所有 TableView 的委托和数据源方法,因为这tableView
是所有方法中的公共参数
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {}
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {}
这个链接也有你的问题的解决方案。
希望这可以帮助
于 2012-08-06T06:45:44.487 回答
2
请看一看。
首先在界面生成器中创建两个表视图,然后连接两个 IBOutlet 变量并为两个表视图设置委托和数据源。
在接口文件中
-IBOutlet UITableView *tableView1;
-IBOutlet UITableView *tableView2;
在实施文件中
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
if (tableView==tableView1)
{
return 1;
}
else
{
return 2;
}
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (tableView==tableView1)
{
return 3;
}
else
{
if (section==0)
{
return 2;
}
else
{
return 3;
}
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
if (tableView==tableView1)
{
//cell for first table
}
else
{
//cell for second table
}
return cell;
}
使用此代码。希望有帮助
于 2012-08-06T07:06:16.727 回答
1
有可能,请看这里的参考代码:http: //github.com/vikingosegundo/my-programming-examples
另请参阅此页面:单个视图上的 2 个表格视图
于 2012-08-06T07:18:07.720 回答