self.navigationControllerは、ストーリーボードからストーリーボードへのナビゲーションを使用して常にnilを返します

ウィルズ

問題:ビューコントローラーでナビゲーションコントローラーへのハンドルを取得しようとしていますが、常にnilが返されます。以下は私のコードです

階層:AppDelegate-> MainStoryboard-> nav Drawer-> TestingStoryboard-> tests

ナビゲーションドロワーから、以下のようにviewControlを開きます。

self.openNewStoryBoard(storyBoard: "testingone", scene: "initial")
func openNewStoryBoard(storyBoard:String, scene:String){
    let storyboard = UIStoryboard(name: storyBoard, bundle: nil)
    let controller = storyboard.instantiateViewController(withIdentifier: scene) as UIViewController
    self.present(controller, animated: true, completion: nil)

}

「testingone」ストーリーボードに、リレーションシップを介してviewContorller「initial」に接続するnavigationcontrollerがあります。「rootviewcontroller」から「viewController」に接続し、これをtesttingoneクラスに接続しました。

code(testingOne)クラスで、以下のようにnavigationcontrollerへのハンドルを取得しようとしています:

self.rootNav = self.navigationController!

しかし、それは常にゼロになります

Sam_M

ビューコントローラーを直接提示することで、ナビゲーションコントローラーをすべて一緒にバイパスすることになります。そのためnil、を呼び出すときに取得ますself.navigationController代わりに、ナビゲーションコントローラーを提示する必要があります。

これを行うには、ストーリーボードinitialで、ビューコントローラーの代わりにナビゲーションコントローラーのストーリーボードIDを設定するだけです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ