4 つの行を含む UITableView があります。各行には、DCRoundSwitch を持つカスタム セルがあります。value-changed イベントは IB で switchChanged メソッドにリンクされています。cellForRowAtIndexPath でスイッチを持つ新しいセルが必要になるたびに、新しいセルのスイッチを ivar に割り当てて、次のようにプログラムで制御できるようにします。
self.categorySwitch = ((FilterViewCell *)cell).sectionSwitch;
初めてスイッチに触れた後、スイッチが完全に機能し、switchChanged メソッドがトリガーされます。
問題: 新しいセルが必要になるかテーブルがリロードされるたびに、スイッチに触れることなく、switchedChanged メソッドが起動されます。switchChanged メソッドの最後ですべてのターゲットを削除しようとしましたが、それでもうまくいきませんでした:
[theSwitch removeTarget:nil action:NULL forControlEvents:UIControlEventAllEvents];
これは、UISwitch を使用して完全に機能します。
助言がありますか?DCRoundSwitch は優れた代替手段のようであり、私はそれを使用したいと考えています。
ありがとう