0

我在每个单元格中都有一个自定义分隔符(在 IB 中添加它),我想根据特定条件删除/隐藏它:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    static NSString *CellIdentifier= @"satellite";
    SatellitesCell *cell= [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if(!cell) {
        cell =[[SatellitesCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

            }

     if([[arrayofRadios objectAtIndex:indexPath.row] isEqualToString:@""]){
         [cell.separatorImage removeFromSuperview];
         cell.separatorImage = nil;

         }

    cell.satelliteName.text=[arrayofSatellitesName objectAtIndex:indexPath.row];

    return cell;
}

启动视图时,一切正常,但问题是滚动时,分隔符(UIImageView)在每个单元格中随机显示。

4

1 回答 1

2

如果我理解正确,您想使用相同的单元原型,但根据数据让它看起来不同。如果是这种情况,那么我不会从超级视图中删除 separatorImage,只是将其隐藏(例如。cell.separatorImage.hidden = YES;)。这样,在 if 语句的 else 情况下,您可以取消隐藏它(例如cell.separatorImage.hidden = NO;)。

或者我想,如果您有特定原因将其从超级视图中删除,那么请务必为该 if 语句创建一个 else 语句,并将其添加回单元格(例如。[cell addSubview:cell.separatorImage];)。

于 2013-06-22T21:02:40.730 回答