2017-04-18 149 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 –

相关问题