【发布时间】:2012-02-21 06:14:12
【问题描述】:
我正在寻找以编程方式推送在情节提要上实例化的视图控制器的替代方法。 我实际上找到了两种方法,用于转到下一个视图,也可以返回到上一个视图:
-
使用
pushViewController:UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; LocationWebView *lvc = [storyboard instantiateViewControllerWithIdentifier:@"LocationWebView"]; [self.navigationController pushViewController:lvc animated:YES]; -
以编程方式执行
Segue:[self performSegueWithIdentifier: @"SongSegue" sender: self];
您对替代方案和执行此操作的最佳方式有一些提示吗?请注意,我指的不是模态视图。
【问题讨论】:
-
就个人而言,由于您使用的是 Storyboard 和 segues,因此 #2 是一种更好的方法。
-
如果你必须推送一个不能有 segue 的视图控制器,#1 可能有用吗?即从地图视图注释的披露按钮推送视图控制器。
-
任何东西都可以有一个segue。并非所有东西都可以有一个完全在 IB 中制作的 自动 segue(如按钮和表格单元格)。但是您仍然可以从视图控制器本身开始在 IB 中创建一个 segue,并使用 #2 来执行它;这正是您为地图标注按钮所做的。
-
如果你的故事板中有目标视图控制器,我建议使用#2(你几乎必须这样做才能使用segue)。但是当您以编程方式创建视图控制器(例如非常简单/一次性使用的视图控制器)时,#1(或者更确切地说只是最后一行)。
标签: ios views push storyboard