目前我在iPhone应用程序中工作,使用tableview开发表格及其样式,如分组,Noofof section like 2,然后第1部分有分色,如浅灰色,第2部分有分色,如clearColor。 但是当我滚动表格视图时,有时第2部分活动时第1部分也会清除分隔符颜色,如何解决这个问题?请任何人帮助我
先谢谢
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
if (indexPath.section == 0 && indexPath.row == 0)
{
studentUpdateTable.separatorColor = [UIColor lightGrayColor];
cell.backgroundColor = [UIColor whiteColor];
}
else if(indexPath.section == 1 && indexPath.row == 0)
{
studentUpdateTable.separatorColor = [UIColor clearColor];
cell.backgroundColor = [UIColor clearColor];
}
}
答案 0 :(得分:3)
tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
你可以设置为None而不是尝试将其设置为clearColor
答案 1 :(得分:2)
这确实有效
cell.backgroundView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
添加了自定义UIView(新分配的UIView)作为单元格的背景视图。
答案 2 :(得分:0)
可以从“界面”构建器本身完成..在表视图的ATTRIBUTES INSPECTOR中,您可以选择分隔符样式...无需任何编码......
答案 3 :(得分:0)
看起来你的问题是你每次滚动时都在分配单元格,因为tableView重用了单元格,不需要每次都分配它。如果单元格为零,则只分配它。
-(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] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
if (indexPath.section == 0)
{
studentUpdateTable.separatorColor = [UIColor lightGrayColor];
cell.backgroundColor = [UIColor whiteColor];
}
else if(indexPath.section == 1)
{
studentUpdateTable.separatorColor = [UIColor clearColor];
cell.backgroundColor = [UIColor clearColor];
}
}