2017-03-23 15 views
0

私のプロジェクトでは、を使わずにをコード化しようとしています。アプリのサイドメニューを作成する必要があるので、ナビゲーションバーを作成して、ナビゲーションバーの左ボタンをタップしてメニューを開くチャンスを与えたいと考えています。コードでナビゲーションバーを生成する(ストーリーボードを使用しない)

これは私がいない成功を収めて試してみましたものです:

override func viewDidLoad() { 
    super.viewDidLoad() 
    centerViewController = ViewController() 
    centerViewController.delegate = self 

    centerNavigationController = UINavigationController(rootViewController: centerViewController) 
    let menuButton: UIBarButtonItem = UIBarButtonItem(title: "TMDB", style: .plain, target: centerViewController, action: Selector(("toggleLeftButton"))) 
    centerNavigationController.navigationItem.leftBarButtonItem = menuButton 
    view.addSubview(centerNavigationController.view) 
    addChildViewController(centerNavigationController) 

    centerNavigationController.didMove(toParentViewController: self) 
} 

私のナビゲーションバーには、いずれかのボタンやタイトルが表示されていません。

+0

異教徒これを確認してください:http://stackoverflow.com/questions/28793331/creating-a-navigationcontroller-programatically-swift –

+0

お返事ありがとうございます。働いていない。私は自分のAppDelegateでボタンを生成するコードを追加しようとしましたが、まだ動作していません。 –

答えて

0

は、私は、コードを足すたところ問題だった

を解決しました。 NavigationControllerが所属するviewController内でインスタンス化する必要があります。

私がやっていたように、彼の親ではないのcenterViewControllerの中にあります。

コードのこの行:コントローラのViewController内部

let menuButton: UIBarButtonItem = UIBarButtonItem(title: "TMDB", style: .plain, target: self, action: Selector(("toggleLeftButton"))) 
self.navigationItem.leftBarButtonItem = menuButton 

EDIT

参考:

Adding UIBarButtonItem to UINav..Controller

関連する問題