Я считаю, что когда ячейка покидает экран (из-за прокрутки), iPhone сразу же освобождает ее для экономии памяти (таким образом, теряя пользовательский ввод). Теперь, когда вы прокручиваете назад вверх, он создает новую ячейку с новым UITextField в старой позиции с
[self CreateTextField];
Вы должны хранить ввод пользователя для каждого текстового поля отдельно. Например, вы можете стать делегатом текстового поля и поймать
- (BOOL)resignFirstResponder
чтобы получать уведомления, когда пользователь покидает фокус текстового поля. На данный момент вы можете предположить, что пользователь закончил с этим конкретным полем и сохранить его.