我创建了一个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;
}
答案 0 :(得分: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是正确的