以编程方式从故事板呈现视图

时间:2014-09-29 19:43:12

标签: ios objective-c storyboard

我是使用Storyboard的新手,我正在努力学习。在我的应用程序中,我希望在模式上从一个视图更改为另一个视图,而无需按任何按钮,即计时器向下运行然后执行操作。我在主视图中添加了一个通知观察器,在我的故事板中,我添加了一个新的视图控制器,并将自定义类与它相关联,称为URLWebViewController。我在代码中写道:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
URLWebViewController *myVC = (URLWebViewController *)[storyboard instantiateViewControllerWithIdentifier:@"URLWeb"];
[self presentViewController:myVC animated:YES completion:nil];

但是我收到了警告信息

Incompatible pointer types sending 'URLWebViewController' to parameter of type 'UIViewController'

就像我说的那样,我对故事板非常新,这就是目前的样子:

enter image description here

2 个答案:

答案 0 :(得分:0)

您的屏幕截图表明您尚未在两个视图控制器之间创建segue。通过从一个视图控制器单击并拖动到另一个视图控制器来执行此操作。在属性检查器中,为新创建的segue提供一个标识符,即用于命名它的字符串。

要以编程方式触发此segue,请在源视图控制器(您正在调用的控制器)中调用performSegueWithIdentifier并传入您选择的标识符。

答案 1 :(得分:0)

真的很简单!我不理解订单,但是假设您想要从ViewController传递到WebViewController(您的故事板中的名称)..只需按住Ctrl键拖动ViewController到{{1}创建一个segue并选择WebViewController作为类型。

现在单击连接视图控制器的行,并在右侧面板中为其指定标识符。现在,在您的代码中,只需使用您编写的标识符{。{}}方法。