0

我是一名新的 iOS 开发人员,有一个简单的问题:我想以编程方式从一个视图控制器移动到下一个视图控制器,我该如何编写这段代码?

到目前为止,我有:

UINavigationController *navigationController;
    navigationController = [[UINavigationController alloc] init];
    [self.view addSubview:navigationController.view];
    [navigationController pushViewController:viewController animated:NO];

我什至不确定这最终是否会起作用,但我的主要问题是第 4 行中的“viewController”。程序不知道那是什么。这是我当前视图控制器的名称,但我如何设置它才能知道我所说的视图控制器是什么意思?

顺便说一句,上面是 if/else 语句的一部分,该语句发生并连接到 NSUserDefaults 类,以使我所指的视图控制器仅在先前未接受条款和条件时才加载。那会奏效吗?谢谢。

4

2 回答 2

0

首先是简单的答案:self当你想传递“当前”对象时传递。

更重要的考虑是:屏幕上有导航控制器吗?除非您使用(可能)是窗口的根视图控制器的导航控制器,否则您的代码可能不会做太多事情。

这很容易在你的故事板中设置(“嵌入”->“导航控制器”),然后你不需要在代码中实例化它,你只需使用 self.navigationController (通常)。

于 2012-10-14T15:37:27.007 回答
0

通常,您会在推送之前实例化 viewController,这样程序就会知道它是什么。而且,当然,您可以有一个 if 语句,并根据 if 语句的评估方式推送这个新的视图控制器。

我不确定您编写的代码是否正确取决于您的应用程序的结构以及您在哪里执行此操作。通常,导航控制器会成为窗口的根视图控制器,并且在创建导航控制器时设置它自己的根视图控制器

于 2012-10-14T15:38:38.987 回答