以编程方式从 Xib 执行 Segue

Posted

技术标签:

【中文标题】以编程方式从 Xib 执行 Segue【英文标题】:Perform Segue from Xib programmatically 【发布时间】:2014-11-03 10:58:15 【问题描述】:

我已经搜索了很多,但我还做不到。

我的 .xib UI 带有一些按钮,与主情节提要分开。

当我按下其中一个按钮并显示另一个视图时,我需要执行一项操作。

如何直接通过 IBAction 中的广告代码来执行此操作?

【问题讨论】:

【参考方案1】:

您无法执行从 XIB 到 Storybaord 的转场, 取而代之的是你需要 1) 获取 Storyboard 的实例。 2) 实例化 Storyboard 内部的 ViewController(通过使用 Storyboard ID)。 3) 将该 ViewController 推送到您的导航堆栈。

这里是示例代码

UIViewController *vc = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"yourVcIdentifier"];
[self.navigationController pushViewController:vc animated:YES];

@"MainStoryboard" - 是故事板的文件名(注意。它没有 .storyboard 扩展名) @"yourVcIdentifier" - 是 ViewController 的 Storybaord ID。

要为某个 ViewController 提供 Storybaord ID,请打开 storybaord,单击 ViewController 并指定“Storyboard ID”字段。

【讨论】:

以上是关于以编程方式从 Xib 执行 Segue的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中以编程方式从 MainViewController 切换到 .xib 视图?

以编程方式从 UIView 执行 Segue

如何以编程方式从 TableView 执行 segue

从 CollectionView Cell 以编程方式执行 Segue

如何以编程方式从 SKScene 到 UIViewController 执行成功的 segue

如何以编程方式执行Unwind segue?