3

目前我在 iPhone 应用程序中工作,使用 tableview 开发表格及其样式,如分组,No.of 部分如 2,​​然后第 1 部分具有分隔颜色,如浅灰色,第 2 部分具有分隔颜色,如 clearColor。但是当我滚动表格视图时,有时第二部分在第一部分处于活动状态时也会清除分隔符颜色,如何解决这个问题?请任何人帮助我

提前致谢

-(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];
       }
}
4

4 回答 4

3
 tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

您可以设置为 None 而不是尝试将其设置为 clearColor

于 2012-06-29T05:52:15.410 回答
2

这确实有效

cell.backgroundView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];

添加了一个自定义 UIView(新分配的 UIView)作为单元格的背景视图。

于 2012-06-30T04:47:28.483 回答
0

它可以从界面构建器本身完成..在表格视图的属性检查器中,您可以选择分隔符样式...不需要任何编码...

于 2012-06-29T06:16:30.517 回答
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];
   }
}
于 2012-08-11T13:14:03.040 回答