2016-05-28 2 views
1

Ich verwende CosmicMaterial (http://www.cosmicmind.io/material) zur Implementierung von Sidemenu oder a.k.a-Menü. Ich habe die Dokumentation gelesen und die Beispielprojekte dieser coolen Bibliothek ausgeführt. Ich konnte die Demo von Sidemenu von CosmicMaterial sehen.Einbettung von NavigationController bei Verwendung des Seitenmenüs CosmicMaterial

Ein Problem ist jedoch, dass es mir schwer fällt herauszufinden, wie man einen Navigationscontroller in Sidemenu einbindet.

Mein Code in AppDelegate didFinishLaunchingWithOptions

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

     // Get view controllers from storyboard 
     let storyboard = UIStoryboard(name: "Main", bundle: nil) 
     let homeTableViewController = storyboard.instantiateViewControllerWithIdentifier("HomeTableViewController") as! HomeTableViewController 
     let sideViewController = storyboard.instantiateViewControllerWithIdentifier("SideTableViewController") as! SideTableViewController 

//  var navigationController = storyboard.instantiateViewControllerWithIdentifier("RootNavigationController") as! NavigationController 
//   
//  var sideNavigationController = storyboard.instantiateViewControllerWithIdentifier("SideNavigationController") as! NavigationController 
//   
//  navigationController = NavigationController(rootViewController: homeTableViewController) 
//  sideNavigationController = NavigationController(rootViewController: sideViewController) 
//   
//   
     // Configure the window with the SideNavigationController as the root view controller 
     window = UIWindow(frame: UIScreen.mainScreen().bounds) 
     window?.rootViewController = SideNavigationController(rootViewController: homeTableViewController, leftViewController: sideViewController) 
     window?.makeKeyAndVisible() 

     return true 
    } 

Und hier ist mein Layout in Storyboard. Alle IDs jeder xibs wurden gesetzt.

enter image description here

Antwort

1

ich vor das gleiche Problem hatte. Ich habe gerade herausgefunden, dass ich den navigonController nicht richtig zuordnen kann. Siehe folgende Codes:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    // Get view controllers from storyboard 
    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let rootViewController = storyboard.instantiateViewControllerWithIdentifier("RootViewController") as! RootViewController 
    let sideViewController = storyboard.instantiateViewControllerWithIdentifier("SideViewController") as! SideViewController 

    let navCon2 = NavigationController(rootViewController: sideViewController) 
    let navCon = NavigationController(rootViewController: rootViewController) 

    let sideNavigationController = SideNavigationController(rootViewController: navCon, leftViewController: navCon2) 
    sideNavigationController.enabledLeftTapGesture = true 
    sideNavigationController.enabledLeftPanGesture = true 
    sideNavigationController.enableHideStatusbar = false 

    // Configure the window with the SideNavigationController as the root view controller 
    window = UIWindow(frame: UIScreen.mainScreen().bounds) 
    window?.rootViewController = sideNavigationController 
    window?.makeKeyAndVisible() 
    return true 
} 

Beachten Sie, dass Sie die Eigenschaften des SideNavigationControllers korrekt einstellen müssen. Und blenden Sie die Statusleiste ein, sonst werden Sie beim Anzeigen des Seitenmenüs einen ärgerlichen Fehler bemerken.

Prost!

+1

Ich schrieb diesen Artikel für 3-verdammt-Stunden nur für dieses Problem :) http://www.prettyitgirl.com/2016/05/implementing-sidenavigationcontroller.html – Glenn

Verwandte Themen