0

ユーザーはビュースタックを切り替えることができるメニューがあります。私がしたいのは、スライドアニメーションを使って、あるスタックから次のスタックへのUINavigationControllerの切り替えを行うことです。アニメーションUINavigationControllerのビューコントローラーの置き換え

ので、現在のスタックに1つのビューを追加するために、私はこれを行うことができます知っている:アニメーション、スタックにビューをスライドさせます

self.navigationController!.pushViewController(myController, animated: true) 

そして私は、私はこの

self.navigationController!.viewControllers = newControllersStack 

を行うことができます知っている。しかし、それはアニメーションではありません、それはただの適切な流れずに、スタックの流れの中に注入してハック感じています。私がしたいことはこれです

self.navigationController!.changeViewControllers(newControllersStack, animated: true) 

これを行う方法はありますか?私はタブバーを調べましたが、(ナビゲーション用のサイドメニューを使用して)タブを非表示にしなければならず、UINavigationController間の遷移をアニメートします。

+1

'UINavigationController.setViewControllerers(_:animated:)'についてはどうですか? –

+1

これは反パターンです。ナビゲーションスタックでは、ユーザーは現在のコントローラーに到達したのと同じ順序でスタックをトラバースできると想定しています。このような方法でスタックを置き換えることはお勧めしません。 –

+0

@LeoNatanまあまあ。どうしたの?それを答えとして加えて、私は受け入れます。それはまさに私が必要とするもののように見えます。私の場合、これは理にかなっています。サイドナビゲーションメニューから何かを選択すると、タブコントローラに似た、新しいナビゲーションスタックです。 – steventnorris

答えて

1

UINavigationController.setViewControllers(_:animated:)を使用してください。

関連する問題