您的位置:首页 > 其它

两个tableview 在同一个页面时,出现自动合并的现象

2013-05-19 18:36 295 查看
问题:两个tableview 在同一个页面时,出现自动合并的现象

问题代码:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdetify = @"cell";
UITableViewCell *tvCell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdetify] autorelease];
tvCell.selectionStyle = UITableViewCellSelectionStyleGray;
tvCell.selectionStyle = NO;    //让单元格无法被选中

if (tableView.tag == 1000) {
[tvCell addSubview:[arrViews objectAtIndex:indexPath.row]];
return tvCell;
}else if (tableView.tag == 2000) {
[tvCell2 addSubview:[arrViews2 objectAtIndex:indexPath.row]];
return tvCell2;
}else {
return 0;
}
}


原因分析:

通过仔细阅读上述代码,我们可以发现,这两个tableview 用的是同一种类型的cell,所以,建议不同的tableview使用不同的cell

建议修改代码如下:

这样,我们就可以对两个不同的tableview 分比进行编辑和配置了。

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView.tag == 1000) {
static NSString *cellIdetify = @"cell";
UITableViewCell *tvCell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdetify] autorelease];
tvCell.selectionStyle = UITableViewCellSelectionStyleGray;
tvCell.selectionStyle = NO;    //让单元格无法被选中

[tvCell addSubview:[arrViews objectAtIndex:indexPath.row]];
return tvCell;
}else if (tableView.tag == 2000) {
static NSString *cellIdetify2 = @"cell2";
UITableViewCell *tvCell2 = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdetify2] autorelease];
tvCell2.selectionStyle = UITableViewCellSelectionStyleGray;
tvCell2.selectionStyle = NO;    //让单元格无法被选中

[tvCell2 addSubview:[arrViews2 objectAtIndex:indexPath.row]];
return tvCell2;
}else {
return 0;
}
}

发现:当一个页面有两个tableview时,如果这两个tableview 都没有设置边框的话,那么这两个tableview会出现合并的现象。只要为这两个tableview设置边框。和合适的间距。它们就会分开。  如何为tableview设置边框,详见:
/article/4696214.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐