Вы не дали понять, потому что вы не опубликовали достаточно кода из вашего cellForRowAtIndexPath
метода, но вы, вероятно, пересоздаете UITextField каждый раз, когда вызывается cellForRowAtIndexPath
(что очень много). Это также означает, что вы теряете память как сумасшедшие (и ваше приложение будет отклонено из-за загрузки в магазин приложений).
Чтобы это исправить, создайте ячейку UITableView в своем xib-файле и вставьте в нее UITextField (подключите IBOutlets к обоим), затем верните ячейку UITableView, когда вызывается cellForRowAtIndexPath
для пути индекса, где вы хотите, чтобы текстовое поле было появляются.
В качестве альтернативы, вы можете создать ячейку UITableView программно (не в xib), инициализировать UITextField, как вы делали там, и назначить это переменной в вашем классе.
В любом случае вы хотите выделить и запустить UITextField только один раз, а только один раз. Если вы можете сделать это, вы можете позвонить title = txt.text;
(вам также следует переименовать ваш UITextField во что-то более интуитивное, например nameLabel
).
Посмотрите на этот связанный вопрос StackOverflow , чтобы узнать, как встроить UITextField в UITableViewCell.