2016-04-20 3 views
0

メニューをスライドアウトしたい。このために私はMenuViewController(表ビュー)を制御しますUINavigationViewControllerProfileViewControlle R(コンテンツビュー)を作成する必要がルートビューコントローラを設定するには?

私はAppDelegate.swift

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

let nav1 = UINavigationController() 
     let mainView = MainViewController(menuViewController: nil, contentViewController: nil) //ViewController = Name of your controller 
     nav1.viewControllers = [mainView] 
self.window?.rootViewController = nav1 

     self.window?.makeKeyAndVisible() 

     return true 
    } 

にこのコードを書いたこのため、rootViewControllerようUINavigationViewControllerを設定したいですMainViewControllerは私のUINavigationViewControllerです。

しかし、ここで私は何をすべきエラー

nilで期待される引数の型と互換性がありません 'のUIViewController'

がありますか?

+0

あなたMainViewControllerクラス型は何ですか? –

+0

実際にはUINavigationViewControllerですが、私は1つのライブラリをインポートし、クラスMainViewControllerのようになります:ENSideMenuNavigationController、ENSideMenuDelegate { –

+0

'nav1 = UINavigationController()'には何がありますか? –

答えて

1
  1. nilここでは、いくつかのビューコントローラの代わりにMainViewController(menuViewController: nil, contentViewController: nil)を渡します。それがおそらくコンパイルされない理由です。

  2. 既にUINavigationControllerであるMainViewControllerインスタンスを別の1つのUINavigationControllerに埋め込みます。それも間違って見える。

+0

私は第2のポイントを理解していません –

+0

2番目のポイントはラインを説明しています:MainViewControllerは私のUINavigationViewControllerです。 –

0

このエラーは、あなたがnilにmenuViewControllerとcontentViewControllerを設定することができないことを意味し、彼らはここで、オプションの

1

でない例です。

LoginViewController *loginController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"loginController"]; //or the homeController 
UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:loginController]; 
self.window.rootViewController = navController;` 
関連する問題