Intereting Posts
iOS UITableView не отвечает на запрос reloadData () в Swift Размер ячейки для изменения вида коллекции Файл записи AvAudioRecorder поврежден случайным образом UISplitViewController – отображает только половину UIViewController Существуют ли какие-либо сайты, которые показывают, как воссоздать определенные парадигмы IOS UI? Swift ABAddressBook падает в рабочем приложении, но не отлаживается Проверка разрешений в Swift 2.0 Создание симулятора IOS, но отсутствуют сборные файлы Изображение на UITableView Cell Как получить данные, отображаемые в ячейке TableView, и отобразить их в текстовом поле? UIDocumentInteractionController показывает «копировать» вместе с другой записью для того же приложения Как изменить направление спрайта после того, как пользователь взаимодействует со сценой? Как контролировать аутоизменение объекта без IB? Невозможно преобразовать значение типа '?' к ожидаемому типу аргументов '_?' Как получить значения из alertview

UITextField внутри UITableViewCell стирается при прокрутке

У меня небольшая форма (5 полей) в сгруппированном UITableView. Каждый UITextField находится внутри ячейки UITableView. При нажатии в текстовом поле открывается клавиатура, которая затем позволяет прокручивать некоторые из ячеек вне поля зрения, когда вы их отбрасываете, их содержимое стирается.

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

Я повторно использую ячейки:

static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease]; } 

Solutions Collecting From Web of "UITextField внутри UITableViewCell стирается при прокрутке"

У вас может быть отдельный массив текстовых полей и реализовать обратный вызов сотворения ячейки следующим образом:

 -(UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*) indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease]; } [[cell.contentView subviews] makeObjectsPerformSelector: @selector(removeFromSuperview)]; [cell.contentView addSubview: [textFieldsArray objectsAtIndex: indexPath.row]]; return cell; }