Iphone 如何将UIViewController作为子视图添加到UIViewController(RootViewController)中?

Iphone 如何将UIViewController作为子视图添加到UIViewController(RootViewController)中?,iphone,ios,uiviewcontroller,addsubview,Iphone,Ios,Uiviewcontroller,Addsubview,我有一个名为LoginViewController的UIViewController,它是AppDelegate中的rootViewController。在LoginViewController中,我有两个按钮:Login和Enroll 当我点击Login时,我将TabBarController指定为rootViewController,然后显示TabBarController。但是,现在我想当我点击Enroll时,我需要添加另一个uiviewcontroller作为子视图。我尝试了以下方法:

我有一个名为
LoginViewController
UIViewController
,它是
AppDelegate
中的
rootViewController
。在
LoginViewController
中,我有两个按钮:
Login
Enroll

当我点击
Login
时,我将
TabBarController
指定为
rootViewController
,然后显示
TabBarController
。但是,现在我想当我点击
Enroll
时,我需要添加另一个
uiviewcontroller
作为子视图。我尝试了以下方法:

[self.view addsubview:viewcontroller.view];
但是这里的问题是我的ViewController的view.top被固定在屏幕顶部下方约20个像素处。我认为状态栏有问题,但我不知道如何解决它


我认为我需要将我的ViewController作为子视图添加到LoginViewController,然后从那里重定向到不同的视图。有人可以建议其他选项吗?

尝试将框架设置为您的注册屏幕对象,然后将其作为子视图添加到loginview。 例:


您不应使UIViewController成为另一个UIViewController视图的子视图。如果将子视图视为普通UIView(如果不是这两个视图),以便屏幕上只有一个UIViewController,并且它占据整个屏幕,那么您可能要做什么


更多信息:

我决定使用以下命令将我的ViewController显示为ModalViewController,而不是将UIViewController作为子视图添加到另一个UIViewController中

[self presentModalViewController:myViewController animated:YES];

根据您的要求更换框架。因为它是向下20像素的,所以请尝试更改y轴位置,如CGRectMake(0,-20320440)所示,然后进行检查。
[self presentModalViewController:myViewController animated:YES];