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

时间:2012-06-18 17:23:42

标签: iphone ios uiviewcontroller addsubview

我的UIViewController名为LoginViewControllerrootViewControllerAppDelegate。在LoginViewController中,我有两个按钮:LoginEnroll

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

[self.view addsubview:viewcontroller.view];

但问题在于我的ViewController的view.top被固定在屏幕顶部下方约20个像素。我认为状态栏存在问题,但我无法弄清楚如何修复它。

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

3 个答案:

答案 0 :(得分:2)

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

[enrollViewcontroller.view setFrame:CGRectMake(0,0,320,440)];
[self.view addsubview:enrollViewcontroller.view];

答案 1 :(得分:1)

你不应该让UIViewController成为另一个UIViewController视图的子视图。如果将子视图视为普通的UIView(如果不是这两个视图),那么你可能想要做什么,这样你在屏幕上只有一个UIViewController,它占据了整个屏幕。

更多信息:How to add an UIViewController's view as subview

答案 2 :(得分:0)

我没有将UIViewController作为子视图添加到另一个UIViewController,而是决定使用

将我的ViewController呈现为ModalViewController
[self presentModalViewController:myViewController animated:YES];