2010-11-16 8 views
1

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

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

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 

...... 

Так что же может быть проблемой?

Thank you.

+0

Вы поняли это? – GendoIkari

ответ

4

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

Смежные вопросы