故事板,self presentViewController,iOS 6,空白屏幕

时间:2013-07-07 20:20:17

标签: ios storyboard

我正在使用故事板,我有一个viewcontroller,点击后我需要以模态方式显示另一个视图控制器。我正在尝试使用此代码

[self presentViewController:zoomV animated:YES completion:NULL];

我想出一个空白的屏幕。 这就是我创建的方式

zViewController *zoomV = [[zViewController alloc] init];
[self presentViewController:zoomV animated:YES completion:NULL];

我尝试过研究这个问题,一些答案围绕着使用故事板而没有关联rootviewcontroller。所以我所拥有的是在初始场景中我有一个navigationController,并从那里我拖到另一个Viewcontroller一个关系,它将它定义为rootViewcontroller。那够了吗?或者这是无关紧要的?

2 个答案:

答案 0 :(得分:4)

由于您的故事板中有zViewController,因此应使用UIStoryboard instantiateViewControllerWithIdentifier:实例化zViewController。 在第一个视图控制器中,不是使用alloc / init创建zViewController,而是在故事板中为zViewController设置标识符。

zViewController *zoomV = [self.storyboard instantiateViewControllerWithIdentifier:@"yourIdentifier"];
[self presentViewController:zoomV 
                   animated:YES 
                 completion:NULL];

你也可以使用segue直接执行它,而不需要实例化zViewController,但是由你决定。

作为第二个(小)注释,不要在ObjC中命名以小写开头的类:)。

答案 1 :(得分:0)

您可以在下面的片段中查看故事板:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
AddNameViewController *sfvc = [storyboard instantiateViewControllerWithIdentifier:@"AddNameViewController.m"];
[sfvc setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentViewController:sfvc animated:YES completion:nil];