UITableViewCell 中的 UISwitch
Posted
技术标签:
【中文标题】UITableViewCell 中的 UISwitch【英文标题】:UISwitch in UITableViewCell 【发布时间】:2010-11-16 19:13:26 【问题描述】:我在 UITableViewCells 中有一些 UISwitches。但是,此表由多个部分组成。向下滚动表格时,有时会使用不属于下划线部分的无效开关更新新创建的单元格。交换开关的顺序不是不可预测的,它只是随机地将开关添加到单元中。然而这是一个奇怪的情况。
这就是我所做的。
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】:如果您将表格单元出列以供重复使用(如您所愿),则可能会发生这种情况。如果某些表格单元格应该有某些子视图,而另一些则没有,那么您应该为不同的类型使用不同的重用标识符。因此,为具有 UISwitch 的表格单元格创建一个重用标识符,并为没有 UISwitch 的表格单元格创建一个单独的重用标识符。
【讨论】:
以上是关于UITableViewCell 中的 UISwitch的主要内容,如果未能解决你的问题,请参考以下文章
确定 UITableViewCell 中的 UIButton
UITableViewCell 事件中的 UIButton 不起作用
UITableViewCell 中的 UICollectionView
UITableVIewCell 中的 UIScrollView 不会滚动