En primer lugar, hay que entender que UITableViewCell y UITextField son sólo puntos de vista, no se supone que para mantener los datos, no son más que supone para mostrarlos y permitir el usuario para interactuar con ellos: los datos deben permanecer almacenados en el controlador de la vista de tabla.
Debe recordar que UITableView le permite reutilizar las instancias de UITableViewCell para fines de rendimiento: lo que se muestra en la pantalla son en realidad las únicas subclases que UITableView guarda allí. Significa que reutilizará una celda que ya tiene un campo de texto y establecerá el texto directamente en ese campo. Cuando el usuario toque el campo, lo editará y tendrá que recuperar el valor cuando el usuario haya terminado.
La manera más rápida, sería usar lo que propone Satya, que es construir UITableViewCell normal e insertarlo en un UITextField (no hay necesidad de una clase CustomTextField ...). La etiqueta le permitirá regresar fácilmente al campo de texto ... Pero deberá configurar su campo de texto para que se comporte correctamente cuando la vista de tabla cambie de tamaño o cambie una etiqueta en la misma celda.
La forma más limpia de hacer eso es subclasificar UITableViewCell y configurar el diseño de su etiqueta y campo de texto, y puede proporcionar el campo de texto como una propiedad de la subclase personalizada.
He publicado una continuación de esta pregunta en este hilo. http://stackoverflow.com/questions/4635856/first-and-last-uitableviewcell-keep-changing-while-scrolling/4636024#4636024 –