2015-09-13 17 views
1

基本上,我放棄了一個導航控制器,向RootView的TableView添加了3行,從第一行設置了一個Segue到一個ViewController(「detail view 「)。現在我想在這個「細節視圖」中啓動我的應用程序。 我試圖設置初始視圖爲「詳細視圖」,但它沒有奏效。後者我試圖觸發賽格,但我無法讓它起作用,並且這個解決方案看起來很詭異,我決定問你們人們什麼是正確的方法。iOS的啓動應用程序在「詳細視圖」,而不是由導航控制器創建的RootVIewController

在此先感謝您的回覆!

回答

1

您可以設置初始從appDelegate類查看控制器。

這裏是你的代碼:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    // Override point for customization after application launch. 

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

    // rootViewController 
    let rootViewController = mainStoryboard.instantiateViewControllerWithIdentifier("DetailViewController") as? UIViewController 

    // navigationController 
    let navigationController = UINavigationController(rootViewController: rootViewController!) 

    navigationController.navigationBarHidden = true // or not, your choice. 

    // self.window 
    self.window = UIWindow(frame: UIScreen.mainScreen().bounds) 

    self.window!.rootViewController = navigationController 

    self.window!.makeKeyAndVisible() 

    return true 
} 

而且不要忘了從身份檢查分配故事板ID和它看起來像:

enter image description here

1

如果你的應用只在iPhone上運行,你可以使用splitviewController來實現這個功能。

放在splitviewcontroller中,並將其設置爲初始視圖控制器。

使tableviewcontroller嵌入到導航控制器中,並將導航控制器設置爲splitviewController的主視圖控制器。

使detailviewcontroller嵌入導航控制器中,並將導航控制器設置爲splitviewController的詳細視圖控制器。

然後創建SEGUE,你的故事板應該是這樣的:

storyboard

有關詳細信息,您可以下載斯坦福CS 193P講座8演示: Psychologist VCL.zip

相關問題