iOS中的简单视图控制器切换

时间:2015-12-02 18:46:13

标签: ios objective-c uiviewcontroller

这真的应该有效。这是在iOS中最简单的事情之一,由于某些原因它只是不起作用。

我的故事板中有两个视图控制器。一个是InitViewController,另一个是ViewController,故事板ID分别为Init和ViewOne。我在InitViewController上有一个按钮,它运行代码来切换视图。代码运行正常,但尽管如此,没有任何反应。这是代码:

-(IBAction)NextPage:(id)sender{
  ViewController *wc = [[ViewController alloc]
                                initWithNibName:@"ViewOne"
                                bundle:nil];

 [self.navigationController pushViewController:wc animated:YES];

}

我导入了ViewController.h,我不知道为什么这不起作用。

2 个答案:

答案 0 :(得分:0)

initWithNibName:适用于您在.xib文件中创建的视图控制器,而非故事板。要使用-[UIStoryboard instantiateViewControllerWithIdentifier:]

从故事板创建视图控制器
ViewController *wc = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewOne"];
[self.navigationController pushViewController:wc animated:YES];

答案 1 :(得分:0)

您需要一个NavigationController - 尝试记录self.navigationcontroller,您会看到null 在您的故事板中添加UINavigationController将其设置为入口点,将InitViewController设置为根视图控制器,然后您可以使用:

ViewController *wc = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewOne"];
[self.navigationController pushViewController:wc animated:YES];