2015-11-24 64 views
1

我只想知道如何在新的故事板中继续添加到新的视图控制器,而无需以编程方式创建新的视图控制器。如何以编程方式在新的故事板中找到新的ViewController

的情景: 我有一个是完全建立在一个代码视图控制器和系统认为我在故事板答:我想从被包含在故事板B.

这个视图控制器到另一个视图控制器Segue公司
  1. 如果此视图控制器是使用Storyboard创建的,我可以创建一个附加到故事板参考(这是一个很好的建议)的segue。但它在代码中,所以我不能这样做。
  2. 我的另一种选择是让下一个视图控制器完全在代码中创建,这样我就可以在不使用segse的情况下呈现它。这是一种痛苦,但会起作用。
  3. 我的第三个选择是在代码中初始化新的故事板,使用故事板标识符在代码中初始化新的视图控制器,然后使用导航控制器继续操作。

如果还有其他选项我不知道请在下面包括它们!

回答

3

这段代码允许您在应用程序中的任何位置继续使用任何viewController,同时仍然可以使用storyboard构建viewController。

func settingsButtonPressed(sender:UIButton) { 
    let storyboard = UIStoryboard(name: "AccountLinking", bundle: nil) 
    let linkingVC = storyboard.instantiateViewControllerWithIdentifier("AccountLinkingTable") 
    self.navigationController?.pushViewController(linkingVC, animated: true) 
} 

感谢这个小功能节省了很多小时。

+0

当你调用'instantiateViewControllerWithIdentifier',是不是以编程方式创建viewController? – dudeman

+0

我应该编辑我的声明,说你可以在故事板中构建视图控制器。是的,它是以编程方式创建它们。 –

+0

同意。看起来不错。 +1。 – dudeman

0

您可以覆盖下面的函数来覆盖segue调用。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 

    var destinationController = segue.destinationViewController 

} 
相关问题