2017-09-09 5 views
0

は、これが正常に動作します:移動しそのまま

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let innerPage: subVC = mainStoryboard.instantiateViewController(withIdentifier: "subSB") as! subVC 
self.present(innerPage, animated: true, completion: nil) 

そしてまた、これは動作しません:

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let innerPage: subVC = mainStoryboard.instantiateViewController(withIdentifier: "subSB") as! subVC 
let appDelegate = UIApplication.shared.delegate as! AppDelegate 
appDelegate.window?.rootViewController = innerPage 

それはMainNavigationビューを削除することを除いて。特定のビューを表示するだけですが、MainNavを使用しないでください。私はその理由は、私は私のコードを呼び出す私のViewControllerからルートビューコントローラに行くつもりはないと思う?

これは、それが構成されています方法です: enter image description here

しかし、それを達成するためにどのように?

答えて

1

あなたがやっていることは、ルートビューコントローラをsubVCに置き換えることです。 mainNavigationVCを保持し、そのルートをsubVCに変更する場合は、次のようにします。

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let innerPage: subVC = mainStoryboard.instantiateViewController(withIdentifier: "subSB") as! subVC 
let mainNav: mainNavigationVC = mainNavigationVC(rootViewController: innerPage) 

let appDelegate = UIApplication.shared.delegate as! AppDelegate 
appDelegate.window?.rootViewController = mainNav 
関連する問題