と現在のナビゲーションコントローラを交換して私が使用することを試みた:は別ナビゲーションコントローラ
self.navigationController?.setViewControllers([anotherNavController], animated: true)
しかし、私はNSException
を取得します。通常のビューコントローラでsetViewControllers()
を使用するとうまくいきますので、UINavigationController
を別のものに含めることはできません。
私が必要とするのは、現在のnavigationControllerを却下し、別のnavigationControllerを提示して、新しいnavigationControllerが終了したときに、将来、古いnavigationControllerが再び存在しないようにすることです。
私はPageMenuを使用しています。私は全体のナビゲーションコントローラを交換する必要がある理由の
例:
このコードはViewDidAppearでPageMenuを初期化します
// Initialize scroll menu
pageMenu = CAPSPageMenu(viewControllers: controllerArray, frame: CGRectMake(0.0, 0.0, self.view.frame.width, self.view.frame.height), pageMenuOptions: parameters)
self.addChildViewController(pageMenu!)
self.view.addSubview(pageMenu!.view)
pageMenu!.didMoveToParentViewController(self)
なぜあなたは_entire_'navigationController'を置き換えていますか?あなたは 'viewController'をその中で置き換えることができませんでしたか? – ZGski
悲しいことに、私はhttps://github.com/HighBay/PageMenuを使用しており、それがそれ自身のナビゲーションコントローラに提示されていなければ正しく表示されません。 – thejuki
投稿画像で判断すると、上部にパディングを追加するだけで、 'navigationController'を置き換える必要はありません。 – ZGski