私は、登録されたUIViewが画面から削除されたときを追跡するクラスをアプリケーション内に作成したいと思っています。たとえば、[MyViewTracker trackView:view]
を呼び出して、デリゲートコールや削除されたときの通知のようなものを待つようなものです。サブビューせずにスーパービューからUIViewを削除する方法を追跡するには?
私はビューを所有していないので、それらをサブクラス化して私に通知することも、KVOを使用してview.superview
またはview.window
で変更を追跡することもできませんでした。追跡されているビューがまだ表示されているかどうか調べることはできますが、良い解決策のようには見えません。
他に解決策がありますか?たぶん、UIViewの仕組みを驚かせるだろうか?
ご協力いただければ幸いです。
おかげ
目的のCブロックを使用してロジックを実行しようとします。 –
あなたはremoveFromSuperviewメソッドをうまくいき、通知を送ることができます。 – bseh
KVOを使用していた問題は何ですか? – shallowThought