0

我创建了一个 uitableview,当我启动它时,它看起来应该是这样,但是当我滚动时,它会将文本放在我未指定的所有其他部分中,有人可以帮忙。附上的第一张图片是它的外观。第二个是我滚动时的作用。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    if (section == 0 ){
        return 1;}
    else if (section == 1){
        return [cellLabels count];
    }else if (section == 2){
        return 1;
    }else{
        return 0;
    }

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *cellIdentifier = @"cellIdentifier";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
    }
    tableView.showsVerticalScrollIndicator = NO;
    // cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    tableView.separatorStyle = UITableViewCellSeparatorStyleNone;


    if( indexPath.section == 0 )
    {
    }
    else if (indexPath.section == 1)
    {
        cell.textLabel.backgroundColor = [UIColor clearColor];
        cell.textLabel.textColor = [UIColor blackColor];
        // headerLabel.font = [UIFont SystemFontOfSize:16];
        [cell.textLabel setFont:[UIFont fontWithName:@"Arial" size:14]];
        cell.textLabel.text = [cellLabels objectAtIndex:indexPath.row];


    }
return cell;

}

这是它启动时的样子,也是它应该看起来的样子

在此处输入图像描述

4

1 回答 1

1

你的问题很简单,

由于表格视图重用分配的单元格,当涉及到第一部分您不显示任何内容时,在第二部分显示您的自定义文本

当它向下滚动并返回时,它的文本将出现在第一部分,因为当它到达

if( indexPath.section == 0 )
{
}

它不会做任何事情

做了

if( indexPath.section == 0 )
{
   cell.textLabel.text = @"";
}
else if( indexPath.section == 2 )
{
   cell.textLabel.text = @"";
}

或者

if( indexPath.section == 0 )
{
   cell.textLabel.text = nil;
}

else if( indexPath.section == 2 )
{
   cell.textLabel.text = nil;
}

其他 FOR SECTION 1 是正确的

于 2012-04-14T20:58:18.310 回答