从UIViewController转换到另一个

时间:2014-10-11 11:53:15

标签: ios objective-c iphone uiview ios8

我正在开发一个有多个视图的应用。如何从一个viewController转换到另一个viewController。 我将从具有故事板的“ViewController”转到具有xib文件的“Question1ViewController”。代码也可以在Objective-c中(我还在学习swift:=)) 感谢

2 个答案:

答案 0 :(得分:3)

有几乎无限的方法可以做你要求的事情。

由于您对此非常陌生,如果您使用单一方式来管理视图控制器 - 故事板 xib文件,而不是两者都可能会更好。

每个人都有它的怪癖,并试图学会同时使用两者,这意味着你必须同时学习两种不同的做事方式。

首先,您需要决定所需的转换类型。

最简单的方法是将导航控制器放在Storyboard中,然后通过调用initWithNibName:bundle:创建新的视图控制器,然后使用直接调用导航控制器方法将其推送到导航控制器pushViewController:animated:。 (您不能使用故事板方法来调用未存储在故事板中的视图控制器。)

答案 1 :(得分:1)

您可以使用以下方式在视图控制器之间切换:

#import  "Question1ViewController.h"
//together with all the other imports

然后在您想要显示视图控制器的地方(如果您有导航控制器):

Question1ViewController *vc = [[Question1ViewController alloc]initWithNibName:@"Question1ViewController" bundle:[NSBundle mainBundle]];
    [self.navigationController pushViewController:vc animated:YES];

如果您没有导航控制器,请使用:

Question1ViewController *vc = [[Question1ViewController alloc]initWithNibName:@"Question1ViewController" bundle:[NSBundle mainBundle]];
[self presentViewController:vc animated:YES completion:nil];