2016-05-10 18 views
1

私はiOSを開発し、このすばらしい図書館SlideMenuControllerに出くわすことを学んでいます。私はこのライブラリを使って、すばらしいスライドメニューを簡単に作成することができます。iOS Swift SlideMenuControllerSwift

しかし、このライブラリで実装する際に直面している問題がいくつかあります。

環境

私のプロジェクトのストーリーボードで、私はこのTabBarViewController下で1 TabBarViewController及び2のViewControllerを持っています。私はまた、LoginViewControllerとLeftMenuViewControllerである2つの独立したViewControllerを持っています。

私は私が最初のビューとしての私のログインビューを必要としない場合はすべてが完璧に動作

... 
    var window: UIWindow? 

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

     let storyboard = UIStoryboard(name: "Main", bundle: nil) 

     let mainViewController = storyboard.instantiateViewControllerWithIdentifier("TabBarViewController") as! TabBarViewController 
     let leftViewController = storyboard.instantiateViewControllerWithIdentifier("LeftMenuViewController") as! LeftMenuViewController 


     let slideMenuController = SlideMenuController(mainViewController: mainViewController, leftMenuViewController: leftViewController) 

     SlideMenuOptions.contentViewScale = 1 
     SlideMenuOptions.hideStatusBar = false; 

     self.window?.rootViewController = slideMenuController 
     self.window?.makeKeyAndVisible() 

     return true 
    } 
    ... 

私AppDelegate.swiftファイルのコードの下に持っています。私は、この行のコードself.window?.rootViewController = slideMenuControllerは、アプリケーションが開いたときに、mainViewControllerのビューが最初のビューであることを常に確認します。

私のアプリケーションが起動し、スライドメニューがまだTabBarViewControllerにバインドされ、正常に動作しているときに、LoginViewを初期ビューとして使用するにはどうすればよいですか?

私は、AppDelegate.swiftからTabBarViewController.swiftのviewDidLoad()関数にコードを移動しようとしましたが、運はありません。それは動作していません。

いくつかのギルドが必要です。ありがとう。

答えて

2

あなたの代わりにあなたのこのコードを使用することができます:

VARウィンドウ:UIWindow? UIViewController:

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

     let storyboard = UIStoryboard(name: "Main", bundle: nil) 

    let mainViewController = storyboard.instantiateViewControllerWithIdentifier("TabBarViewController") as! TabBarViewController 
    let leftViewController = storyboard.instantiateViewControllerWithIdentifier("LeftMenuViewController") as! LeftMenuViewController 
    let loginViewController = storyboard.instantiateViewControllerWithIdentifier("LoginViewController") as! LoginViewController 

    let nvc: UINavigationController = UINavigationController(rootViewController: loginViewController) 
    leftViewController.mainVC = nvc 
    let slideMenuController = SlideMenuController(mainViewController: nvc, leftMenuViewController: leftViewController) 

    SlideMenuOptions.contentViewScale = 1 
    SlideMenuOptions.hideStatusBar = false; 

    self.window?.rootViewController = slideMenuController 
    self.window?.makeKeyAndVisible() 

    return true 
} 

はあなたLeftMenuViewController

のvar mainVCにこの変数を追加することを忘れていけません!