Как получить значения из пользовательских ячеек с текстовым полем UITableView? - PullRequest
0 голосов
/ 08 июня 2011

Я создал UITableView, который работает как этот раздел 0 2 пользовательских ячейки (Имя, фамилия с UITextFields) раздел 1 (нажмите кнопку в заголовке, вставьте новую ячейку с текстовым полем + Кнопка, чтобы изменить заголовок) раздел 2 (нажмите кнопку в заголовке, чтобы вставить новую ячейку с текстовым полем + кнопку, чтобы изменить заголовок) раздел 3 (нажмите кнопку в заголовке, чтобы вставить новую ячейку с текстовым полем + кнопку, чтобы изменить заголовок). Теперь предположим, что я создаю 3-3 строки в каждом разделе, кроме раздела 0. Как динамически получить все значения текстовых полей?

Ответы [ 2 ]

2 голосов
/ 08 июня 2011

У вас есть источник данных для вашего TableView.Этот источник должен обновляться автоматически каждый раз, когда вы вставляете новую ячейку.Поэтому, если вы перебираете массив, содержащий ваш источник данных, где-то также должны быть значения текстового поля.

Если это не так, вам следует подумать о том, как вы добавляете новые ячейки.Обычно в вашем источнике данных должно быть зарезервировано место для данных в текстовом поле.Если вы создаете новую ячейку сейчас, пространство, зарезервированное для данных текстового поля, должно быть обновлено новыми данными.

Если я вас правильно понял, у вас есть ячейка с ярлыком, текстовым полем и кнопкой.Вы создаете ячейку, вводите текст в текстовое поле и затем нажимаете кнопку.тогда содержимое текстового поля должно отображаться в метке.

Если я ошибаюсь, пожалуйста, подтолкните меня в правильном направлении.Может быть, вы можете опубликовать несколько скриншотов или что-то.

!!!!!Неправильный подход !!!!!!!

Итерация по вашим ячейкам, полученным из метода

[tableView visibleCells];

, а затем получение значения из textField, содержащегося в ячейке, через

NSArray *myArray = [[NSArray alloc] initWithArray: [tableView

visibleCells]];[[(YourCellSubClass *) myArray textfield] text];

Я не проверял это, но думаю, что это должно работать.

!!!!!!Неправильный конец подхода !!!!!!

1 голос
/ 13 ноября 2012

Вы должны установить делегата UITextField для ViewController, в котором у вас есть UITableView. затем переопределите этот метод, чтобы получить текст сфокусированного текстового поля textField:DidEndEditing. Также вы можете установить теги для каждого UITextfield, чтобы различать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...