通过代码加载故事板场景

时间:2013-05-22 17:24:27

标签: ios objective-c storyboard scene

我对故事板和目标c都很新。基本上,我有一个欢迎屏幕,上面有4个按钮。每个按钮都通过modal方式加载新场景。其中一个屏幕需要互联网连接。我已经设置了功能来检查是否有互联网。如果没有连接,我希望它加载一个单独的场景。它看起来像这样(webView是我的UIWebView的名称):

-(void)webView:(UIWebView *)myWebView didFailLoadWithError:(NSError *)error {
//code
}

现在,我遇到的唯一问题是如何在此函数中加载它应该指向的场景。我觉得我需要从为这个特定场景创建一个插座开始,但我不确定如何做到这一点。我试着寻找一个如何做到这一点的指南,但由于我对编程很陌生,所以这一切都在我脑海中。非常感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

1。)将项目设置为在项目目标设置中使用故事板

2。)在故事板内,通过勾选“是初始视图控制器”属性来设置首先要加载的场景/类。

3。)通过你先设置的其他场景/课程来设置和隔离

4。)然后,当您到达相关场景时,在故事板内设置两个不同的段:一个用于是否有互联网连接,另一个用于没有

5.。)检查该情况并致电performSegueWithIdentifier:并传递符合互联网连接标准的标识符

答案 1 :(得分:1)

如果您正在谈论UIViewController,当您说scene时,有一种简单易用的方法,只需按照您想要的方法调用以下内容(当然需要更改所需的名称)

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"YourStoryboardName" bundle:nil];
YourViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"YourViewControllerIdentifier"];

现在确保您的故事板具有类型为YourViewController的UIViewController,并且UIViewController具有YourViewControllerIdentifier作为故事板中设置的标识符。

现在,如果您在说UIView时谈论自定义scene,那么您无法执行此操作,则无法在未加载正确视图控制器的情况下从sotryboard加载自定义UIView 。 但是您可以使用.xib文件创建自定义UIView并将其加载到所需的方法上。