如何在不使用IB的情况下将TableView控制器作为子视图添加到UIViewController?

时间:2012-03-21 13:36:51

标签: iphone ios5 uiviewcontroller uitableview

我有一个要求,在登录后,我需要显示一个带有四个选项卡的tabbar,并加载一个带有导航控制器的tableview控制器。登录页面是一个uiviewcontroller。我试图将tableviewcontroller作为子视图添加到第一个uiviewcontroller。但我得到的视图低于上述坐标。我将坐标指定为0,0但是tableviewcontroller在坐标下面显示了一点。请帮帮我。

enter image description here

顶部的蓝色背景是第一个登录视图,但是当我将第二个tableviewcontroller添加为子视图时,它将显示在实际坐标下方15个像素。请帮我。如果我在哪里错了,请告诉我。非常感谢。

_mainMenuViewController = [[MainMenuViewController alloc]init];
        [self.view addSubview:_mainMenuViewController.view];

我添加了一个tableviewcontroller类,并尝试在上面提到的上下文中将其添加为子视图...

1 个答案:

答案 0 :(得分:1)

查看控制器知道他们所在的窗口是否具有状态栏并相应地调整其视图。因此,以非Apple认可的方式嵌套它们会导致两个视图控制器将其内容向下移动20个点。

TabBar控制器仅用作根级视图控制器,因此将其添加为窗口的直接子视图。然后添加导航控制器作为选项卡,并将表视图添加到导航控制器。将登录屏幕显示为模态视图控制器。