バックグラウンド:
UICollectionViewControllerユーザーが切り替えることができる2つのモードのいずれかでアイテムを表示するがあります。各モードは、異なるクラスのを使用しますUICollectionViewCell。これらのモードを「リストビュー」と「グリッドビュー」と呼びましょう。
モードを切り替えるときは、を呼び出します。これにより、正しいセルクラスを使用してコレクションビューが再描画.reloadDataされます。UICollectionViewここではすべてが正常に機能します。
現在:UICollectionViewCellあるタイプのセルのサブクラス内で、それを含むコレクションビューがモードを切り替えたときに通知を受け取りたいです。視覚的には、画面に表示されていたセルが消えます。コレクションビューは、他のタイプのセルで完全に描画されます。元に戻すと、セルが再表示されます。
質問:
UICollectionViewCell親コレクションビューからaが「削除」された(つまり、表示されなくなった、内部で何が起こっているのかまだわからない)場合、どうすれば通知できますか?
ノート:
prepareForReuseコレクションビューupdateDataによってセルが含まれなくなった場合、はセルで呼び出されません。willTransitionFromLayout:toLayout:(空のレイアウト?)は呼び出されません。- オーバーライド
didMoveToSuperviewは役に立ちません。呼び出されません。 .hiddenセル上またはセル上での観察.alphaは機能しません。- セル
deallocは呼び出されません。再利用キューにとどまります。
セル内の何かが変化している必要があり、それを観察したり、フックしたりできます。それは何ですか?