UItableview单元格(再次)混淆

UItableview单元格(再次)混淆,uitableview,cell,Uitableview,Cell,基本上,我有一个UItableview,当生成时,它由两个单元格组成:一个单元格有分数,如果你触摸另一个单元格,它会插入另一行分数。 所有这些都很好,但是当我滚动第一个单元格时,当它从屏幕上消失,当它回来时,它会在它上面添加另一个单元格(它会叠加它)! 我想我在dequeueReusableCellWithIdentifier和addSubview上做错了什么,但我不知道它是什么 这是我的密码: (UITableViewCell*)tableView:(UITableView*)tableVie

基本上,我有一个UItableview,当生成时,它由两个单元格组成:一个单元格有分数,如果你触摸另一个单元格,它会插入另一行分数。 所有这些都很好,但是当我滚动第一个单元格时,当它从屏幕上消失,当它回来时,它会在它上面添加另一个单元格(它会叠加它)! 我想我在
dequeueReusableCellWithIdentifier
addSubview
上做错了什么,但我不知道它是什么

这是我的密码:

(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
int-feedIndex=[indexPath-indexaposition:[indexPath-length]-1];
静态NSString*CellIdentifier1=@“Cell1”;
静态NSString*CellIdentifier2=@“Cell2”;
if(feedIndex==0)//配置第一个单元格
{
UITableViewCell*单元格=[tableView dequeueReusableCellWithIdentifier:CellIdentifier1 forIndexPath:indexPath];
如果(单元格==nil){
cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue1重用标识符:CellIdentifier 1];
textField1=[[UITextField alloc]initWithFrame:CGRectMake(0,(44-15)/2.0,80,15)];
textField1.font=[UIFont boldSystemFontOfSize:15];
textField1.tag=i+1;//跟踪用户创建的单元格
i++;
textField1.textAlignment=UITextAlignmentCenter;
[textField1 addTarget:self//以摆脱键盘
操作:@选择器(返回:)
对于控制事件:uicontrolEventEditingDiEndonext];
textField1.text=@“00”;
[cell.contentView addSubview:textField1];
textField2=[[UITextField alloc]initWithFrame:CGRectMake(80,(44-15)/2.0,80,15)];
textField2.font=[UIFont boldSystemFontOfSize:15];
textField2.tag=i+1;
i++;
textField2.textAlignment=UITextAlignmentCenter;
[textField2 addTarget:self
操作:@选择器(返回:)
对于控制事件:uicontrolEventEditingDiEndonext];
textField2.text=@“00”;
[cell.contentView addSubview:textField2];
textField3=[[UITextField alloc]initWithFrame:CGRectMake(160,(44-15)/2.0,80,15)];
textField3.font=[UIFont boldSystemFontOfSize:15];
textField3.tag=i+1;
i++;
textField3.textAlignment=UITextAlignmentCenter;
[textField3 addTarget:self
操作:@选择器(返回:)
对于控制事件:uicontrolEventEditingDiEndonext];
textField3.text=@“00”;
[cell.contentView addSubview:textField3];
textField4=[[UITextField alloc]initWithFrame:CGRectMake(240,(44-15)/2.0,80,15)];
textField4.font=[UIFont boldSystemFontOfSize:15];
textField4.tag=i+1;
i++;
textField4.textAlignment=UITextAlignmentCenter;
[textField4 addTarget:self
操作:@选择器(返回:)
对于控制事件:uicontrolEventEditingDiEndonext];
textField4.text=@“00”;
[cell.contentView addSubview:textField4];
}
返回单元;
}
else if(feedIndex==nbrow-1)//配置第二个单元格
{
UITableViewCell*单元格=[tableView dequeueReusableCellWithIdentifier:CellIdentifier2 forIndexPath:indexPath];
如果(单元格==nil){
cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault重用标识符:CellIdentifier 2];
}
cell.textlab.text=@“添加分数”;
返回单元;
}
else//配置用户单击时创建的所有其他单元格以及第二个单元格
{
UITableViewCell*单元格=[tableView dequeueReusableCellWithIdentifier:CellIdentifier1 forIndexPath:indexPath];
textField1=[[UITextField alloc]initWithFrame:CGRectMake(0,(44-15)/2.0,80,15)];
textField1.font=[UIFont boldSystemFontOfSize:15];
textField1.tag=i+1;
i++;
textField1.textAlignment=UITextAlignmentCenter;
[textField1 addTarget:self//以摆脱键盘
操作:@选择器(返回:)
对于控制事件:uicontrolEventEditingDiEndonext];
textField1.text=@“00”;
[cell.contentView addSubview:textField1];
textField2=[[UITextField alloc]initWithFrame:CGRectMake(80,(44-15)/2.0,80,15)];
textField2.font=[UIFont boldSystemFontOfSize:15];
textField2.tag=i+1;
i++;
textField2.textAlignment=UITextAlignmentCenter;
[textField2 addTarget:self
操作:@选择器(返回:)
对于控制事件:uicontrolEventEditingDiEndonext];
textField2.text=@“00”;
[cell.contentView addSubview:textField2];
textField3=[[UITextField alloc]initWithFrame:CGRectMake(160,(44-15)/2.0,80,15)];
textField3.font=[UIFont boldSystemFontOfSize:15];
textField3.tag=i+1;
i++;
textField3.textAlignment=UITextAlignmentCenter;
[textField3 addTarget:self
操作:@选择器(返回:)
对于控制事件:uicontrolEventEditingDiEndonext];
textField3.text=@“00”;
[cell.contentView addSubview:textField3];
textField4=[[UITextField alloc]initWithFrame:CGRectMake(240,(44-15)/2.0,80,15)];
textField4.font=[UIFont boldSystemFontOfSize:15];
textField4.tag=i+1;
i++;
textField4.textAlignment=UITextAlignmentCenter;
[textField4 addTarget:self
操作:@选择器(返回:)
对于控制事件:uicontrolEventEditingDiEndonext];
textField4.text=@“00”;
[cell.contentView addSubview:textField4];
返回单元;
}}
我是为iOS开发的新手,我面临着我的f
textField1 = [[UITextField alloc] initWithFrame:CGRectMake(0, (44 - 15) / 2.0, 80, 15)];
textField1.font = [UIFont boldSystemFontOfSize:15];
textField1.tag = i+1;
i++;
textField1.textAlignment = UITextAlignmentCenter;
[textField1 addTarget:self//to get rid of the keyboard
               action:@selector(saisieReturn:)
     forControlEvents:UIControlEventEditingDidEndOnExit];
textField1.text = @"00";
[cell.contentView addSubview:textField1];


textField2 = [[UITextField alloc] initWithFrame:CGRectMake(80, (44 - 15) / 2.0, 80, 15)];
textField2.font = [UIFont boldSystemFontOfSize:15];
textField2.tag = i+1;
i++;
textField2.textAlignment = UITextAlignmentCenter;
[textField2 addTarget:self
               action:@selector(saisieReturn:)
     forControlEvents:UIControlEventEditingDidEndOnExit];
textField2.text = @"00";
[cell.contentView addSubview:textField2];


textField3 = [[UITextField alloc] initWithFrame:CGRectMake(160, (44 - 15) / 2.0, 80, 15)];
textField3.font = [UIFont boldSystemFontOfSize:15];
textField3.tag = i+1;
i++;
textField3.textAlignment = UITextAlignmentCenter;
[textField3 addTarget:self
               action:@selector(saisieReturn:)
     forControlEvents:UIControlEventEditingDidEndOnExit];
textField3.text = @"00";
[cell.contentView addSubview:textField3];


textField4 = [[UITextField alloc] initWithFrame:CGRectMake(240, (44 - 15) / 2.0, 80, 15)];
textField4.font = [UIFont boldSystemFontOfSize:15];
textField4.tag = i+1;
i++;
textField4.textAlignment = UITextAlignmentCenter;
[textField4 addTarget:self
               action:@selector(saisieReturn:)
     forControlEvents:UIControlEventEditingDidEndOnExit];
textField4.text = @"00";
[cell.contentView addSubview:textField4];

return cell;