以编程方式从 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 视图?
从 CollectionView Cell 以编程方式执行 Segue