私が働いているアプリには3つのタブがあり、すべてが検索バーを持ち、ユーザーはどのタブでも検索を開始できます。検索が開始されると、それぞれのスタックにSerchViewController
がプッシュされます。現在、ユーザーがタブを切り替えると、3つの異なる検索が行われます。 SearchVC
がアクティブになっていることを確認するにはどうすればいいですか?ユーザーが別のタブで検索を開始すると、もう1つのSearchVC
は前のタブでスタックからポップされますか?特定のViewControllerクラスが別のタブのスタックにプッシュされたときに、スタックからView Controllerをポップする方法はありますか?
どのようにI:
1)スタックの一方の既存SearchVC
インスタンスへの参照を保持し、
2)SearchVC
が提示された場合、別のナビゲーション・コントローラ・スタックからの通知を受信し、
3)、以前のスタックの中でそれをポップする(そしてすべてのVCをポップする)?例えば
:
ユーザーが第一のタブをタップすると、スタックは次のように構築します。
UITabBarController
- (SearchVC
スタックから理論的に構築することができます> - >UINavigationController
- >ProfileVC
- >GalleryVC
- >SearchVC
ほとんど無限) - >ProfileVC
検索結果から - >GalleryVC
- >LikesVC
- >ProfileVC
- >など
ユーザーが第二のタブをタップすると、スタックは次のように構築します。再び、スタックはここからほぼ無限に構築することができます。最初のタブにはSearchVC
が表示されるので、タブを切り替えるときはSearchVC
になります。ユーザーが最初のタブに戻ると、ユーザーが検索を開始する直前のGalleryVC
またはVCに移動し、SearchVC
がスタックにプッシュされます。だから、