Это действительно сложный вопрос, чтобы ответить на него полностью и подробно с помощью примеров кода, но я постараюсь указать вам правильное направление.
1) Добавьте UITextField в качестве подпредставления вашегоячейка таблицы при создании ячейки в tableView: cellForRowAtIndexPath: метод (я предполагаю, что именно для этого предназначен ваш метод getCellContentView:).Установите тег в вашем UITextField, который соответствует индексу строки ячейки, и сделайте ваш tableviewcontroller делегатом для ячейки.Установите текстовое поле скрытым.(не забывайте устанавливать тег каждый раз при запросе ячейки, а не только при первом ее создании).
2) В tableView: didSelectRowAtIndexPath: метод захватите ячейку, используя tableViewCellForRowAtIndexPath, а затем отобразите текстовое поле внутриэто (вам, возможно, придется сделать некоторый обход просмотра, чтобы получить его) и вызвать в текстовое полеcomeFirstResponder.
3) Когда пользователь что-то наберет, ваши методы textfielddelegate будут запущены.Вы можете посмотреть на тег в текстовом поле, чтобы определить, к какой строке относится поле, а затем обновить источник данных новым текстом.Затем просто перезагрузите таблицу, чтобы скрыть текстовое поле и обновить содержимое ячейки.
Если вы знаете, как использовать пользовательские подклассы ячеек таблицы, вы можете немного упростить свою жизнь, создав пользовательскую ячейку, которая уже содержит текстовое поле.и имеет свойство для доступа к нему, но в противном случае метод будет в основном таким же.
Кроме того, tableView: didSelectRowAtIndexPath: обычно не срабатывает, когда просмотр таблицы находится в режиме редактирования, если вы не установили tableView.allowsSelectionDuringEditing = YES;