0

我有一个UITableView带有可变数量的单元格,每个单元格都有一个UISwitch. 这是所有开关的行:

[cell.currentSwitch addTarget:self action:@selector(changeCurrentEvent:) forControlEvents:UIControlEventValueChanged];

我设置了,当您拨动一个开关时,它会关闭所有其他开关(在内部-changeCurrentEvent:)。我注意到的是,-changeCurrentEvent:当我手动拨动开关时会正确调用它,但由于它会关闭所有其他开关,因此改变它们的值,它们不应该也调用-changeCurrentEvent:吗?无论如何,这就是我希望他们做的事情。

4

1 回答 1

0

控制事件仅在用户操作更改控制时发送(例如,在开关的情况下轻敲)。如果您要更改代码中的值,则不会发送它们。

这很好地避免了控件更新以响应其他控件更改的无限循环情况,这会导致其他控件更改...

您的实现-changeCurrentEvent:应该对模型进行所有必要的更改,以响应单个开关的更改。

于 2012-07-18T08:04:56.617 回答