我正在研究iPhone应用程序。 这是一个标签栏应用程序,在一个特定选项卡中包含导航视图控制器。 我在导航视图控制器中有一个表视图。 在这个组合表中,我需要在某些特定项目中添加一些UISwitch。 例如,我有以下几节:
我需要将UISwitch用于带有*但不用于其他用户的UISwitch。 我设法在tableView:cellForRowAtIndexPath方法中使用indexPath上的条件添加UISwitch。 但是......当我滚动视图时... UISwitch被添加到其他一些项目(带有&以上的项目)。
你能帮忙吗?
非常感谢,
吕克
答案 0 :(得分:1)
几乎可以肯定,您的代码是细胞重用的问题。
当您将单元格出列以重新使用它时,它不会重置为新状态,而是如果之前添加了UISwitch,它仍然具有UISwitch。
因此,无论何时将单元格出列以便重复使用,您都需要假设它可能具有UISwitch子视图,如果在返回单元格之前不想要它,则删除该子视图。