0

我有两个视图,当加载该应用程序时,如果首选项与用户登录匹配,我试图立即加载下一个 ViewController。

每个视图通常以横向显示,我已将应用程序设置设置为仅允许横向显示。但是,当我尝试立即从第一个视图“viewdidload”加载第二个视图时,第二个视图出现在其一侧。

这就是我的代码的样子,此代码位于从第一个视图控制器 viewdidload 调用的方法中

currentProjectListViewController = [[CurrentProjectListViewController alloc] initWithNibName:@"CurrentProjectListViewController" bundle:nil];


    [currentProjectListViewController setDelegate:self]; // set the delegate so it can access the returning method to update the view

    UIWindow* keyWindow= [[UIApplication sharedApplication] keyWindow];
    [keyWindow addSubview: currentProjectListViewController.view];

    [self presentViewController:currentProjectListViewController animated:NO completion:nil];

我什至不知道从哪里开始。它使它进入第二个视图 viewdidload 就像我说的那样,视图似乎是正确的,但它只是在其侧面有效地 90 度不正确。

任何帮助确保这个在景观中出现的帮助将不胜感激。

4

1 回答 1

0

我认为您的视图层次结构有些错误。

为什么要添加view到对象并在添加它之后立即currentProjectListViewController使用当前ViewController 呈现它?UIWindowsubviewpresentViewController

当您加载并显示第二个 ViewController 时,您的presentViewController代码应该可以工作。你不需要玩你的UIWIndow对象。只需确保关闭当前的视图控制器,以减少内存占用和内存泄漏。

于 2013-10-07T09:34:22.687 回答