2017-04-18 96 views
0

據我所知,可以使用參考故事板來製作具有相同故事板參考的多個故事板。如果所有視圖控制器層次結構都通過segue連接,它將起作用。從參考故事板訪問視圖控制器

我想知道如何在視圖控制器之間使用不帶segue的引用故事板,因爲一個視圖控制器可能以多種方式使用,或者需要通過新引用故事板中的故事板標識符訪問視圖控制器。

請讓我知道,我想使用參考故事板的視圖控制器沒有segue。

+0

使用故事板ID – karthikeyan

+0

我試過了。但它崩潰。 –

+0

因爲在main.storyboard中沒有找到特定的視圖控制器。 –

回答

0

你可以做財產以後這樣的...

@IBAction func tapButtonToShowOtherController(_ sender: Any?) { 
    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    //storyboard identifier set in storyboard "userSB" 
    let aVC = storyboard.instantiateViewController(withIdentifier: "userSB") as? AViewController   
    aVC?.udelegate = self 
    self.present(aVC!, animated: true, completion: nil) 
} 
+0

訪問視圖控制器它會崩潰的崩潰報告 –

+0

什麼是終端告訴你...爲什麼它墜毀? – rogger2016

0

給這個ID身份inspecter到故事情節,如 「ViewController_id」

MyCartViewController* destVC = [self.storyboard instantiateViewControllerWithIdentifier:@"MyCartViewController_id"]; 
[self.navigationController pushViewController:destVC animated:YES]; 
+0

它會使應用程序崩潰。 –

+0

這段代碼中有什麼問題。你能解釋一下嗎? –

0
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil]; 
    MyNewViewController *myVC = (MyNewViewController *)[storyboard instantiateViewControllerWithIdentifier:@"myViewCont"]; 
+0

謝謝@Jagveer,但我想從Main.storyboard訪問所有視圖控制器,並且我有多個參考故事板而不是多個故事板。 –

+0

但你會在一個時間 –

0

從情節串連圖板中選擇您的視圖 - 控制和選擇身份檢查給你無論你想要的stoary板身份證

enter image description here

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"your storyboard name" bundle:nil]; 
    MyNewViewController *myVC = (MyNewViewController *)[storyboard instantiateViewControllerWithIdentifier:@"your storyboard id"]; 

我在這裏下載樣本https://www.raywenderlich.com/115697/ios-9-storyboards-tutorial-whats-new-in-storyboards

他們用故事板作爲參考我segue.Here已經修改下面的東西:

1.select Checklists.stoaryboard

2 。刪除ChecklistDetailViewController segue。

3.Select ChecklistsViewController.swift

4.增加以下代碼:及其無賽格瑞工作

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
     let storyboard = UIStoryboard(name: "ChecklistDetail", bundle: nil) 
     let aVC = storyboard.instantiateViewController(withIdentifier: "ChecklistDetailViewController") as? ChecklistDetailViewController 
     aVC?.checklist = checklists[indexPath.row] 
     navigationController?.pushViewController(aVC!, animated: true) 


    } 

5.comment 製備(對於SEGUE:UIStoryboardSegue,發件人:任何?)方法。

在這裏,我明白:

當您使用,故事情節引用您需要一提的ReferenceID

enter image description here

然後,您可以通過給stoarboard名與採取視圖 - 控制分別爲storyboardId

+0

調用一個視圖控制器#karthikeyan它工作在單一分鏡的情況下,我有多個引用情節串連圖板,並與主要故事板進入VC。 –

+0

你是什麼意思多重參考故事板? – karthikeyan

+0

我的意思是說我有一個Main.storyboard和其他2個從Main.storyboard引用的故事板。請差不多的詳細讀到這裏https://www.raywenderlich.com/115697/ios-9-storyboards-tutorial-whats-new-in-storyboards –

相關問題