検索バーのようないくつかのUI要素を、私のアプリケーションの最初のVCの上に表示し、それが提示する2番目のVCの上に表示したいと思います。UIViewControllerとその提示されたViewControllerの上にUI要素を保持するにはどうすればよいですか?
私の解決策は、addChildViewController(firstViewController)
とview.addSubview(firstViewController.view)
を呼び出すContainerViewControllerを作成することでした。そしてview.addSubview(searchBarView)
、そして各UI要素について同様です。
ある時点で、FirstViewControllerはpresent(secondViewController)
を呼び出すことができます。理想的には、検索バーと他の要素が両方のビューコントローラの上に表示された状態で画面上にスライドします。
代わりに、secondViewController
がContainerViewControllerの上部に表示されるため、検索バーは表示されません。
ユーザが検索バーをタップすると、ContainerViewControllerがSearchVCをすべての上に表示することも欲しい。そのためには、それは簡単です - containerVC.present(searchVC)
。
この階層を正しく機能させるにはどうすればよいですか?
は良い方法を探します。ちょうどあなたが 'present(secondViewController)'を使ったのと同じようにsecondVCを遷移させるカスタムビューのアニメーションやナビゲーションベースのトランジションを使うことができます。この方法で一番上のUI要素は隠れません。 – iAviator