UIViewオブジェクトの単一のインスタンスが他の複数のビューのサブビューとして同時に追加された場合はどうなるのでしょうか。UIView:removeFromSubview:が呼び出された場合、それはすべてのスーパービューから削除されますか、それとも現在表示されているものだけから削除されますか?
背景について:
ビューオブジェクトのようなステータスバーがあり、他のいくつかのビュー内に表示する必要があります(他の各ビューは独自のビューコントローラーによって管理されます)。
[つまり、a)ユーザーが1つのビューにいる、b)ステータスバーのようなビューが表示されるようになっている、c)ユーザーが別のビューに切り替えているd)ステータスバーが新しいビューに表示されているe)ステータスバーはしばらくすると期限切れになり、サイトから消えます。等々]
最初は、ウィンドウのサブビューとして必要に応じて追加/削除することでこれを実装しましたが、これはシングルトンによって管理されていました。ただし、一部のアニメーションには複雑な点があるため、代わりに、各ビューコントローラの各メインビューのサブビューとして追加しました。複数のコピーがないことに注意してください
ビューを削除する必要がある場合、私はそのremoveFromSuperview:を呼び出しており、すべてが完全に機能しています。
しかし、ビューの削除に関する状況はどうなっているのでしょうか。完全に削除されているのでしょうか、それとも他に何かする必要があるのでしょうか。
たとえば、ビューは必要に応じてaddSubviewを呼び出すことでN個のビューコントローラーのビューに追加される場合があります(ビューコントローラーが実際に起動した場合にのみ各ビューコントローラーに追加されます)ただし、ビューが削除されるときは、removeFromSuperview:を呼び出すだけです。現在ロードされているViewControllerであり、追加されている可能性のあるすべてのViewControllerではありません。
次回、これらの他のビューコントローラのいずれかに移動すると、removeFromSuperViewを明示的に呼び出さなくても、ビューが表示されていなくても正常に表示されます。
さっき言ったように、すべてがそのまま機能しているのですが、心の奥底で何か足りないものがあるのではないかと思います。
これが理解できることを願っています。