我的一个应用程序具有相同的功能,我使用下面的代码来实现这一目标,但我从未遇到过此类问题。
首先,您需要将所有文本字段值临时存储在数组中。像这样制作数组。
arrTemp=[[NSMutableArray alloc]initWithObjects:[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],
[NSString stringWithFormat:@""],nil];
然后给所有textField tag = indexPath.row;
之后,您需要在以下两种方法中替换 textField 值。
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
[arrTemp replaceObjectAtIndex:textField.tag withObject:textField.text];
}
-(void)textFieldDidEndEditing:(UITextField *)textField{
[arrTemp replaceObjectAtIndex:textField.tag withObject:textField.text];
}
最后您需要在 cellForRowAtIndexPath 数据源方法中设置该值。这样,每当用户滚动表视图时,它就会设置临时数组中的先前值。像这样。
cell.txtEntry.text = [arrTemp objectAtIndex:indexPath.row];
我可能忘记了一些要粘贴到此处的代码。因此,如果您有任何问题,请告诉我。