2017-03-23 5 views
0

Ich versuche ohne mit Storyboard oder Interface Builder in meinem Projekt zu codieren. Wenn ich also ein Seitenmenü für meine App erstellen möchte, möchte ich eine Navigationsleiste erstellen, um das Menü zu öffnen, indem ich auf den linken Knopf meiner Navigationsleiste tippe.Navigationsleiste erstellen Ansicht nach Code (ohne Storyboard)

Dies ist, was ich ohne Erfolg versucht:

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) 
} 

Meine Navigationsleiste wird keine Taste noch Titel zeigt.

+0

Pagan überprüfen Sie diese ONCE-: http://StackOverflow.com/Questions/28793331/Creating-AnavigationController-Programmatics-Swift –

+0

Vielen Dank für die Beantwortung. Funktioniert nicht. Ich habe in meinem AppDelegate versucht, meinen Code hinzuzufügen, um den Knopf auch zu erzeugen und immer noch nicht zu arbeiten. –

Antwort

0

Gelöst

Das Problem war, wo ich den Code wurde writting. Sie muss innerhalb des ViewControllers, zu dem der NavigationController gehört, instanziiert werden.

Ich meine, in der centerViewController nicht in seinem Elternteil, wie ich es tat.

Diese Codezeilen:

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

Innerhalb der Controller Viewcontroller.

EDIT

Referenz:

Adding UIBarButtonItem to UINav..Controller

Verwandte Themen