2016-05-28 37 views
1

我使用CosmicMaterial(http://www.cosmicmind.io/material)實現Sidemenu或a.k.a抽屜菜單。我已閱讀文檔以及如何運行這個很酷的庫的示例項目。我能夠看到CosmicMaterial的Sidemenu演示。嵌入導航控制器使用Sidemenu CosmicMaterial

雖然有一個問題,我很難搞清楚如何在Sidemenu中嵌入導航控制器。

我在的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 
    } 

這是我的故事板中的佈局。每個xib的所有id都已設置。

enter image description here

回答

1

我以前有同樣的問題。我剛纔發現我正在分配navigonController不當。請參閱以下代碼:

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 
} 

請注意,您必須正確設置SideNavigationController的屬性。取消隱藏狀態欄,否則在顯示側面菜單時會遇到煩人的錯誤。

乾杯!

+1

我爲這個問題寫了3個小時的這篇文章:) http://www.prettyitgirl.com/2016/05/implementing-sidenavigationcontroller.html – Glenn

相關問題