下面是我的代码,当我滚动时,单元格过度写入,当我将内容置于if(cell == nil)时,没有显示任何内容,我不知道如何摆脱它。 当我一次又一次地滚动它只会覆盖。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:NO];
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
}
UILabel *boothtitle=[[UILabel alloc]initWithFrame:CGRectMake(0, 3, self.view.frame.size.width*0.5-3, 25)];
UILabel *HouseTitle=[[UILabel alloc]initWithFrame:CGRectMake(0, 31, self.view.frame.size.width*0.5-3, 25)];
UILabel *NameTitle=[[UILabel alloc]initWithFrame:CGRectMake(0, 59, self.view.frame.size.width*0.5-3, 25)];
UILabel *FHNTitle=[[UILabel alloc]initWithFrame:CGRectMake(0, 87, self.view.frame.size.width*0.5-3, 25)];
UILabel *EPICTitle=[[UILabel alloc]initWithFrame:CGRectMake(0, 115, self.view.frame.size.width*0.5-3, 25)];
UILabel *BoothNo=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 3, 200, 25)];
UILabel *HouseNo=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 31, 200, 25)];
UILabel *Name=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 59, 200, 25)];
UILabel *EPIC=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 87, 200, 25)];
UILabel *Fnaaam=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 115, 200, 25)];
[cell.contentView addSubview:boothtitle];
[cell.contentView addSubview:HouseTitle];
[cell.contentView addSubview:NameTitle];
[cell.contentView addSubview:FHNTitle];
[cell.contentView addSubview:EPICTitle];
[cell.contentView addSubview:BoothNo];
[cell.contentView addSubview:Name];
[cell.contentView addSubview:HouseNo];
[cell.contentView addSubview:EPIC];
[cell.contentView addSubview:Fnaaam];
boothtitle.text=@"Booth Number";
HouseTitle.text=@"House Number";
NameTitle.text=@"Name";
FHNTitle.text=@"F/H/M Name";
EPICTitle.text=@"EPIC";
BoothNo.text=[BotthID objectAtIndex:indexPath.row];
Name.text=[nname objectAtIndex:indexPath.row];
HouseNo.text=[Houseno objectAtIndex:indexPath.row];
EPIC.text=[EpiC objectAtIndex:indexPath.row];
Fnaaam.text=[FName objectAtIndex:indexPath.row];
return cell;
}
答案 0 :(得分:0)
我解决了,我只是改变了条件。以下是代码。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:NO];
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell != nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
}
UILabel *boothtitle=[[UILabel alloc]initWithFrame:CGRectMake(3, 3, self.view.frame.size.width*0.5-3, 25)];
UILabel *HouseTitle=[[UILabel alloc]initWithFrame:CGRectMake(3, 31, self.view.frame.size.width*0.5-3, 25)];
UILabel *NameTitle=[[UILabel alloc]initWithFrame:CGRectMake(3, 59, self.view.frame.size.width*0.5-3, 25)];
UILabel *FHNTitle=[[UILabel alloc]initWithFrame:CGRectMake(3, 87, self.view.frame.size.width*0.5-3, 25)];
UILabel *EPICTitle=[[UILabel alloc]initWithFrame:CGRectMake(3, 115, self.view.frame.size.width*0.5-3, 25)];
UIImageView *icon = [[UIImageView alloc] initWithFrame:CGRectMake(self.view.frame.size.width*0.5+90, 7, 25, 25)];
icon.image=[UIImage imageNamed:@"edit.png"];
UILabel *BoothNo=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 3, 200, 25)];
UILabel *HouseNo=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 31, 200, 25)];
UILabel *Name=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 59, 200, 25)];
UILabel *EPIC=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 87, 200, 25)];
UILabel *Fnaaam=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 115, 200, 25)];
[cell.contentView addSubview:boothtitle];
[cell.contentView addSubview:HouseTitle];
[cell.contentView addSubview:NameTitle];
[cell.contentView addSubview:FHNTitle];
[cell.contentView addSubview:EPICTitle];
[cell.contentView addSubview:icon];
[cell.contentView addSubview:BoothNo];
[cell.contentView addSubview:Name];
[cell.contentView addSubview:HouseNo];
[cell.contentView addSubview:EPIC];
[cell.contentView addSubview:Fnaaam];
boothtitle.text=@"Booth Number";
HouseTitle.text=@"House Number";
NameTitle.text=@"Name";
FHNTitle.text=@"F/H/M Name";
EPICTitle.text=@"EPIC";
BoothNo.text=[BotthID objectAtIndex:indexPath.row];
Name.text=[nname objectAtIndex:indexPath.row];
HouseNo.text=[Houseno objectAtIndex:indexPath.row];
EPIC.text=[EpiC objectAtIndex:indexPath.row];
Fnaaam.text=[FName objectAtIndex:indexPath.row];
return cell;
}