UIViewController错误地显示在它的一边

时间:2013-10-07 09:14:48

标签: ios uiview uiviewcontroller

我有两个视图,当appf加载,如果prefs匹配用户登录,我试图立即加载下一个ViewController。

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

这就是我的代码看起来的样子,这段代码位于从第一个viewcontrollers 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度不正确。

任何帮助确保此景观中的上诉人将非常感激。

1 个答案:

答案 0 :(得分:0)

我认为你的View层次结构有点不对。

为什么要将view currentProjectListViewController UIWindow添加到subview对象,并在将其添加为presentViewController之后立即使用当前ViewController中的presentViewController进行呈现?

当您加载并显示第二个ViewController时,您的UIWIndow代码应该有效。 您不需要使用{{1}}对象。只需确保关闭当前的视图控制器,以减少内存占用和内存泄漏。