私は、テーブルが編集されているかどうかによってセルが異なるように構築されているテーブルビューを持っています。具体的には、編集モードでは選択スタイルは無しであり、編集モードではない場合には青色である。編集モードに入る/出るときにUITableViewCellを再描画する
私が1つを他のものに移行すると、一部のセルが更新されていないことに気付きました。簡単なロギングでは、たとえセルの外観が大幅に変化しても(アクセサリビューが正しく追加/削除されても)、テーブルビューは選択スタイルをリフレッシュしません。
ここでは何が起こっていますか? setEditingを呼び出すと、セルの一部の属性のみが更新されますか?おそらく、別のビュースタイル(例えばEditingAccessoryType)の割り当てを可能にする特定のメソッドを持つものだけでしょうか?私はEditingSelectionStyleの恩恵を受けると思います。
どうすれば解決できますか? setEditingをカスタマイズして、各セルのselectionStyleを変更しますか?私は、これを行うためにテーブルビューをどのように反復するかについてもわかりません。私が使用しているアニメーションのため、reloadDataはオプションではありません。
なぜあなたはsetEditing:animated:をセルでオーバーライドする代わりに行うのですか? – jrturton
ありがとう@jrturton、あなたの答えはよりエレガントです。 – xialin
@jrturton、答えとしてあなたのコメントを追加できますか? – phatmann