2014-10-12 58 views
0

我开始使用Master-Detail应用程序。现在我尝试添加一个自定义视图(默认UIViewController与简单的标签),这将显示几秒钟(如加载视图)之前detail /主视图将可访问。
我现在的问题是,如果我将我的ViewController添加到AppDelegate并从NavigationController推到它,我得到一个空的视图。
在这里看到:
enter image description here显示视图几秒钟(从NavController自定义推送)

我没有改变什么,但添加的代码只是一行的appdelegate:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    // Override point for customization after application launch. 
    let splitViewController = self.window!.rootViewController as UISplitViewController 
    let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as UINavigationController 
    navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem() 
    splitViewController.delegate = self 

    let masterNavigationController = splitViewController.viewControllers[0] as UINavigationController 
    let controller = masterNavigationController.topViewController as MasterViewController 
    controller.managedObjectContext = self.managedObjectContext 

    // +++ Custom ViewController is to be displayed from here +++ 

    navigationController.pushViewController(ViewController(), animated: true) 

    return true 
} 

我没有得到哪里出了问题...
enter image description here

回答

1

在您的代码中使用此行

navigationController.pushViewController(ViewController(), animated: true) 

你正在实例化一个新的空视图控制器,可能不是你想要的。

获取对故事板的引用(即从您的masterviewcontroller)创建视图控制器并将其推送到导航堆栈上。例如:

if let myVC = controller.storyboard!.instantiateViewControllerWithIdentifier(...) { 
    navigationController.pushViewController(myVC, animated: true) 
} 
+0

谢谢!我应该知道它... – x4k3p 2014-10-12 13:39:31