Ios 将我发送到另一个视图的代码

Ios 将我发送到另一个视图的代码,ios,xcode,views,Ios,Xcode,Views,我有一个应用程序,我必须在某一点上提出另一种观点,严格按照代码。我已经看到了使用此功能的建议,但它根本不起作用: secViewController *menu = [[secViewController alloc] init]; [self presentViewController:menu animated:YES completion:nil]; 我没有得到任何错误,但应用程序只是工作,如果这些行不存在 代码在第一个屏幕的viewcontroller中的viewdid

我有一个应用程序,我必须在某一点上提出另一种观点,严格按照代码。我已经看到了使用此功能的建议,但它根本不起作用:

    secViewController *menu = [[secViewController alloc] init];
    [self presentViewController:menu animated:YES completion:nil];
我没有得到任何错误,但应用程序只是工作,如果这些行不存在

代码在第一个屏幕的viewcontroller中的viewdidLoad中运行。 我想要代码将我带到secviewcontroller

为了提供更多的上下文:

第一个视图包括一个选择器,用户将在其中选择他的国家,在他选择后,相应的标志将出现在第二个屏幕菜单中。我只希望在用户第一次打开应用程序时出现第一个屏幕,因此我使用以下代码:

   if (![[NSUserDefaults standardUserDefaults] boolForKey:@"FirsstLaunch"]) {

    self.view.backgroundColor = [UIColor blueColor];
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"FirsstLaunch"];
    [[NSUserDefaults standardUserDefaults] synchronize];

}
else{

    self.view.backgroundColor = [UIColor purpleColor];


    secViewController *menu = [[secViewController alloc] init];
    [self presentViewController:menu animated:YES completion:nil];

       // [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"FirsstLaunch"];
        //[[NSUserDefaults standardUserDefaults] synchronize];}];
}
您可以看到背景颜色的变化,以测试代码是否正在运行

这段代码位于第一视图控制器中,如果我以前打开过应用程序,它应该会将我发送到第二视图


非常感谢您的帮助。您可以尝试使用导航控制器

AppDelegate
这需要更多的信息。这段代码是在什么样的类中执行的?secViewController的分配是否成功?当代码运行时,屏幕上会显示什么?如果它是一个模态对话框,这可能不起作用。你确定这些行正在运行吗?你使用过断点吗?@CrimsonChris我没有使用过断点。我确信代码正在运行,我使用了一些简单的东西,而不是bckgrnd颜色更改,它工作了。viewDidLoad通常是一个不可靠的地方来显示模态。尝试从视图中显示instead@neal为了提供更多细节,我已经更改了问题,非常感谢您的帮助如果我使用导航控制器,我有没有办法不把按钮放在上面,这样我的应用程序就可以占据整个屏幕,而不需要什么无用的按钮来返回设置页面?请看一下UINavigationController的文档。很确定有办法隐藏导航条。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:[[MyFirstViewController alloc] init]];
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"FirstLaunch"]) {
        [navController pushViewController:[[MySecondViewController alloc] init] animated:NO];
    }
    self.window.rootViewController = navController;
    [self.window makeKeyAndVisible];
    return YES;
}