UISwitch в UITableViewCell - PullRequest
       4

UISwitch в UITableViewCell

1 голос
/ 16 ноября 2010

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

Это то, что я сделал.

 if(indexPath.section == 1){
       switch (indexPath.row) { 
        case 0:
         cell.textLabel.text = @"Text 1";
         switch1 = [[UISwitch alloc] initWithFrame:CGRectZero];
         cell.accessoryView = switch1;

         [cell.contentView  addSubview :switch1];

         break;
        case 1:
         cell.textLabel.text = @"Text 2";
         switch2 = [[UISwitch alloc] initWithFrame:CGRectZero];

         cell.accessoryView = switch2;
         [cell.contentView  addSubview :switch2];
         break;
        case 2:
........

More sections

......

Так в чем же проблема?

Спасибо.

1 Ответ

4 голосов
/ 16 ноября 2010

Если вы удаляете ячейки таблицы из очереди для повторного использования (как и должно быть), это может произойти. Если предполагается, что у некоторых ячеек таблицы есть определенные подпредставления, а у других нет, то вы должны использовать разные идентификаторы повторного использования для разных типов. Поэтому создайте идентификатор повторного использования для ячеек таблицы, которые имеют UISwitch, и отдельный идентификатор повторного использования для ячеек таблицы, которые не имеют UISwitch.

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