2014-10-12 72 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