如何设置根视图控制器?

时间:2016-04-20 08:37:50

标签: ios swift uiviewcontroller

我想制作幻灯片菜单。为此,我必须创建UINavigationViewController来控制MenuViewController(表视图)和ProfileViewControlle r(内容视图)

我想将UINavigationViewController设置为rootViewController,为此,我在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
    }

MainViewController是我的UINavigationViewController

但在这里我有错误

  

nil与预期的参数类型' UIViewController'

不兼容

我应该做什么?

3 个答案:

答案 0 :(得分:1)

  1. 您在此处传递nilMainViewController(menuViewController: nil, contentViewController: nil)而不是某些视图控制器。这可能是它无法编译的原因。

  2. 您将MainViewController实例(已经是UINavigationController)嵌入到另一个UINavigationController中。这看起来也不错。

答案 1 :(得分:1)

以下是一个例子:

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

答案 2 :(得分:0)

此错误意味着您无法将menuViewController和contentViewController设置为nil,它们不是可选的

相关问题