Я создаю форму в UITableViewCell, эта форма имеет макет и текстовое поле в ячейке прототипа. См. Его изображение здесь TableView Story board Image. Я использую идентификатор, чтобы динамически создать форму, мой кодUITableViewCell Данные изменяются после прокрутки
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("protocell", forIndexPath: indexPath) as! UITableViewCell
var lable = cell.viewWithTag(1) as! UILabel
lable.text = details[indexPath.row]
lable.textColor = UIColor.brownColor().colorWithAlphaComponent(0.7)
var textfield = cell.viewWithTag(2) as! UITextField
textfield.placeholder = "Enter \(details[indexPath.row])"
self.arrayTextField.append(textfield)
if details[indexPath.row] == "Name" {
textfield.placeholder = "Enter First \(details[indexPath.row]) Middle \(details[indexPath.row]) Last \(details[indexPath.row]) "
}
textfield.backgroundColor = UIColor.redColor().colorWithAlphaComponent(0.2)
return cell
}
Теперь проблема я с 18 полей и когда я ввожу значение в поле и прокручивать представление, чтобы заполнить оставшиеся поля, то изменения значений в полях изменяются. Пожалуйста, помогите.
Вам нужно отслеживать в своем источнике данных, текстовое поле которого имеет текст. Поэтому, когда в 'tableView: (tableView: cellForRowAtIndexPath:)' есть один, вы его положили, иначе вы кладете свое местоHolder, потому что ячейки повторно используются. – Larme
** Никогда ** используйте массивы, содержащие элементы пользовательского интерфейса элементов таблицы ('arrayTextField'). Вероятно, это причина вашей проблемы. Подумайте о том, чтобы улучшить дизайн модели (источника данных), изменить данные в модели и перезагрузить представление таблицы. – vadian
для отслеживания источника данных Я использую 'arrayTextField' @Larme, как отслеживать в источнике данных, чтобы увидеть, какое текстовое поле имеет текст. Я искал, но ничего не нашел. – knownUnknown